创建runtime - CreateCoreRuntime
功能介绍
该接口用于创建Agent运行时,支持为该运行时进行入站认证,网络访问,可观测配置等。该接口会同时创建运行时以及对应的初始版本。
适用场景:
部署一个已经开发完成的Agent应用。
为Agent应用配置入站认证。
为Agent应用配置入口和出口网络。
URI
POST /v1/core/runtimes
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 参数解释: Agent运行时名称,用于在租户内部唯一标识一个Agent运行时。 约束限制: 同一账号下名称不可重复。 取值范围: 以小写字母开头,以小写字母或数字结尾,可以包含小写字母、数字和中划线,长度为2-48个字符。 默认取值: 不涉及。 |
| description | 否 | String | 参数解释: 描述信息,用于对Agent运行时的内容和用途进行简要说明。 约束限制: 不涉及。 取值范围: 长度为 0 - 4096 个字符。 默认取值: 不涉及。 |
| artifact_source | 是 | CoreRunArtifactSource object | 参数解释: Agent来源数据结构。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| environment_variables | 否 | Array of CoreRunEnvironmentVariable objects | 参数解释: 环境变量配置列表,用于配置运行时环境变量。 约束限制: 总大小约束2MB。 取值范围: 支持0 - 1024个元素。 默认取值: 不涉及。 |
| identity_configuration | 是 | CoreRunIdentityCreateReqBody object | 参数解释: 运行时入站认证配置请求Body体。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| execution_agency_name | 否 | String | 参数解释: 运行时委托名称。 约束限制: 必须是一个存在的信任委托名称,且该委托授权对象为安全沙箱元数据。 取值范围: 长度为 1 - 64 个字符。 默认取值: 不涉及。 |
| network_config | 否 | CoreRunNetworkConfig object | 参数解释: 出站网络配置,不配置默认是PUBLIC。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| agent_gateway_id | 否 | String | 参数解释: Agent网关的唯一ID,用户可以通过AgentGateway的查询网关实例列表接口来查询到对应的网关ID。 约束限制: 不涉及。 取值范围: 匹配标准的UUID格式(8-4-4-4-12的十六进制数字串,由连字符分隔),符合正则条件^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$。 默认取值: 不涉及。 |
| invoke_config | 否 | CoreRunInvokeConfig object | 参数解释: 智能体调用相关配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| observability | 否 | CoreRunObservability object | 参数解释: 可观测性配置(日志+指标)。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| tags | 否 | Array of CoreRunTagItem objects | 参数解释: 标签配置列表,对接TMS标签服务,用于资源分类。 约束限制: 元素个数0 - 20。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| url | 是 | String | 参数解释: Agent镜像地址,用于运行时拉取镜像启动Agent服务,可以通过SWR控制台以及SWR的镜像查询接口获取对应的镜像地址。 约束限制: 必须是一个有效的SWR镜像地址。 取值范围: 长度为 1 - 2048 个字符。 默认取值: 不涉及。 |
| commands | 否 | Array of strings | 参数解释: 启动镜像的命令,示例:python main.py --port=8080。 约束限制: 不涉及。 取值范围: 最多 10 个元素,每个元素长度为 1 - 256 个字符。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key | 是 | String | 参数解释: 环境变量键。 约束限制: 不涉及。 取值范围: 必须以字母开头,由英文字母、数字、下划线和点号组成。 默认取值: 不涉及。 |
| value | 是 | String | 参数解释: 环境变量值。 约束限制: 不涉及。 取值范围: 长度为 1 - 1048576 个字符。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| authorizer_type | 是 | String | 参数解释: Agent运行时所需的入站认证类型,Agent网关将根据该配置进行入站认证。 约束限制: 不涉及。 取值范围: 默认取值: IAM |
| authorizer_configuration | 是 | 参数解释: 运行时入站认证配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| custom_jwt | 否 | 参数解释: 运行时自定义JWT类型认证配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 | |
| key_auth | 否 | 参数解释: APIKEY入站认证配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| discovery_url | 是 | String | 参数解释: 此 URL 用于获取 OpenID Connect 配置或授权服务器元数据,以验证传入的令牌。 约束限制: 不涉及。 取值范围: 长度为 1 - 2048 个字符。 默认取值: 不涉及。 |
| allowed_audience | 否 | Array of strings | 参数解释: 允许对入站 JWT 进行验证的受众值列表。 约束限制: 不涉及。 取值范围: 元素个数0 - 10。 默认取值: 不涉及。 |
| allowed_clients | 否 | Array of strings | 参数解释: 允许用于入站 JWT 验证的客户端标识符值列表。 约束限制: 不涉及。 取值范围: 元素个数0 - 50。 默认取值: 不涉及。 |
| allowed_scopes | 否 | Array of strings | 参数解释: 允许对入站 JWT 进行验证的范围值列表。 约束限制: 不涉及。 取值范围: 元素个数0 - 50。 默认取值: 不涉及。 |
| custom_claims | 否 | Array of CoreRunCustomClaimValidation objects | 参数解释: 对入站 JWT 应用自定义声明验证规则。 约束限制: 不涉及。 取值范围: 最小数量 1,最大数量 20。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| authorizing_claim_match_value | 是 | 参数解释: 自定义声明匹配配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 | |
| inbound_token_claim_name | 是 | String | 参数解释: 要检查的自定义声明字段的名称。 约束限制: 不涉及。 取值范围: 长度为 1 - 255 个字符,只包含字母数字、下划线、点号、中划线和冒号。 默认取值: 不涉及。 |
| inbound_token_claim_value_type | 是 | String | 参数解释: 要检查的声明值的数据类型。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| claim_match_operator | 是 | String | 参数解释: 定义声明字段值与要匹配的值之间的关系。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| claim_match_value | 是 | CoreRunClaimMatchValue object | 参数解释: 入站认证需要校验的自定义Claim字段锁需要的匹配策略。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| match_value_string | 否 | String | 参数解释: 入站认证需要校验的自定义Claim字段所要匹配的字符串值。 约束限制: 不涉及。 取值范围: 长度为 1 - 255 个字符,只包含字母数字、下划线、点号和中划线。 默认取值: 不涉及。 |
| match_value_string_list | 否 | Array of strings | 参数解释: 入站认证需要校验的自定义Claim字段所要匹配的字符串值列表。 约束限制: 不涉及。 取值范围: 最小数量 1,最大数量 50。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| api_keys | 是 | Array of CoreRunApiKey objects | 参数解释: 入站认证允许的所有的API KEY密钥列表。 约束限制: 不涉及。 取值范围: 最小数量 0,最大数量 10。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| api_key | 否 | String | 参数解释: API密钥值。轮换期间,可以使用其中任何一个密钥。如果密钥为空,则会生成一个随机字符串。 约束限制: 不涉及。 取值范围: 长度为 1 - 512 个字符,只包含字母数字、中划线和下划线。 默认取值: 不涉及。 |
| api_key_name | 否 | String | 参数解释: API密钥名称,该名称仅用于标识该密钥,不用于实际认证。 约束限制: 不涉及。 取值范围: 长度为 0 - 64 个字符,只包含字母数字、中划线和下划线。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| network_mode | 是 | String | 参数解释: 出站网络类型,当前支持如下2种: 约束限制: 不涉及。 取值范围: 默认取值: PUBLIC。 |
| vpc_config | 否 | CoreRunVpcConfig object | 参数解释: vpc网络配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| vpc_id | 是 | String | 参数解释: VPC ID,可以通过VPC的控制台页面或者VPC查询接口获取。 约束限制: 不涉及。 取值范围: 匹配标准的UUID格式(8-4-4-4-12的十六进制数字串,由连字符分隔),符合正则条件^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$。 默认取值: 不涉及。 |
| subnet_id | 是 | String | 参数解释: 子网ID,可以通过VPC的控制台页面或者VPC查询接口获取。 约束限制: 不涉及。 取值范围: 匹配标准的UUID格式(8-4-4-4-12的十六进制数字串,由连字符分隔),符合正则条件^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$。 默认取值: 不涉及。 |
| security_group_ids | 否 | Array of strings | 参数解释: VPC关联的安全组ID列表。 约束限制: 不涉及。 取值范围: 元素个数0-10个。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| port | 否 | Integer | 参数解释: 智能体运行时监听的端口号,用于接收外部请求。 约束限制: 不涉及。 取值范围: 1 - 65535 默认值: 8080 |
| protocol | 否 | String | 参数解释: 智能体运行时支持的协议类型 约束限制: 不涉及。 取值范围: 默认值: HTTP |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| logs | 否 | CoreRunLogsConfig object | 参数解释: 日志采集配置。 约束限制: 日志组ID与日志流ID必须配套使用,要么同时缺省,要么同时填写。 取值范围: 不涉及。 默认取值: 不涉及。 |
| metrics | 否 | 参数解释: 自定义指标采集详细配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 | |
| tracing | 否 | 参数解释: 调用链采集配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| enabled | 否 | Boolean | 参数解释: 是否开启日志采集。 约束限制: 不涉及。 取值范围: 默认值: false |
| group_id | 否 | String | 参数解释: 日志组ID。 约束限制: 与日志流ID配套使用,需同时填写或同时缺省。 取值范围: 长度为 1 - 64 个字符。 默认值: 无。 |
| stream_id | 否 | String | 参数解释: 日志流ID。 约束限制: 与日志组ID配套使用,需同时填写或同时缺省。 取值范围: 长度为 1 - 64 个字符。 默认值: 无。 |
| project_id | 否 | String | 参数解释: 日志流所在项目ID。 约束限制: 与日志组ID配套使用,需同时填写或同时缺省。 取值范围: 长度为 1 - 64 个字符。 默认值: 无。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| enabled | 否 | Boolean | 参数解释: 是否开启自定义指标采集。 约束限制: 不涉及。 取值范围: 默认值: false |
| instance_id | 否 | String | 参数解释: 自定义指标实例ID。 约束限制: 不涉及。 取值范围: 长度为 1 - 64 个字符。 默认取值: 不涉及。 |
响应参数
状态码:200
创建成功,返回完整AgentRun信息(含初始版本详情)。
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。枚举值说明:AgentArts.03000400表示客户端请求参数错误。 取值范围: 固定值:AgentArts.03000400。 |
| error_msg | String | 错误详细信息。 |
状态码:401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。枚举值说明:AgentArts.03000401表示未授权(认证令牌缺失、无效或已过期)。 取值范围: 不涉及。 |
| error_msg | String | 参数解释: 错误详细信息。 取值范围: 长度为 1 - 512 个字符。 |
状态码:403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。枚举值说明:AgentArts.03000403表示禁止访问(认证后权限不足)。 取值范围: 固定值:AgentArts.03000403。 |
| error_msg | String | 参数解释: 错误详细信息。 取值范围: 长度为 1 - 512 个字符。 |
| coded_authorization_message | String | 参数解释: IAM5 当OpenAPI无权限时报错信息。 取值范围: 长度为 1 - 1024 个字符。 |
| details | Array of CoreRunErrorDetail objects | 参数解释: 依赖的下游服务错误信息列表。 取值范围: 最小数量 0,最大数量 10。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。 取值范围: 长度为 18 个字符。 |
| error_msg | String | 参数解释: 错误信息。 取值范围: 长度为 1 - 1024 个字符。 |
状态码:404
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。枚举值说明:AgentArts.03000404表示资源不存在。 取值范围: 固定值:AgentArts.03000404。 |
| error_msg | String | 参数解释: 错误详细信息。 取值范围: 长度为 1 - 512 个字符。 |
状态码:409
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。枚举值说明:AgentArts.03000409表示资源冲突。 取值范围: 固定值:AgentArts.03000409。 |
| error_msg | String | 参数解释: 错误详细信息。 取值范围: 长度为 1 - 512 个字符。 |
状态码:429
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。枚举值说明:AgentArts.03000429表示请求过于频繁(触发限流)。 取值范围: 固定值:AgentArts.03000429。 |
| error_msg | String | 参数解释: 错误详细信息。 取值范围: 长度为 1 - 512 个字符。 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。枚举值说明:AgentArts.03000500表示服务器内部错误。 取值范围: 固定值:AgentArts.03000500。 |
| error_msg | String | 参数解释: 错误详细信息。 取值范围: 长度为 1 - 512 个字符。 |
请求示例
-
POST https://{Endpoint}/v1/core/runtimes { "name" : "hello-agent", "description" : "一个简单的 Hello World Agent", "agent_gateway_id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "artifact_source" : { "url" : "swr.cn-north-7.myhuaweicloud.com/agentrun/hello-world:v1" }, "identity_configuration" : { "authorizer_type" : "IAM", "authorizer_configuration" : { } } } -
POST https://{Endpoint}/v1/core/runtimes { "name" : "production-agent", "description" : "生产环境 AI 助手运行时", "agent_gateway_id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "artifact_source" : { "url" : "swr.cn-north-7.myhuaweicloud.com/agentrun/ai-assistant:v2.1.0", "commands" : [ "python", "main.py", "--env=prod" ] }, "environment_variables" : [ { "key" : "LOG_LEVEL", "value" : "INFO" }, { "key" : "MAX_TOKENS", "value" : "4096" }, { "key" : "MODEL_NAME", "value" : "gpt-4" } ], "identity_configuration" : { "authorizer_type" : "CUSTOM_JWT", "authorizer_configuration" : { "custom_jwt" : { "discovery_url" : "https://auth.example.com/.well-known/openid-configuration", "allowed_audience" : [ "https://api.example.com" ], "allowed_clients" : [ "my-client-app" ], "allowed_scopes" : [ "read", "write" ] } } }, "invoke_config" : { "port" : 8080, "protocol" : "HTTP" }, "observability" : { "logs" : { "enabled" : true, "group_id" : "prod-lts-group", "stream_id" : "prod-lts-stream", "project_id" : "prod-lts-stream" }, "metrics" : { "enabled" : true }, "tracing" : { "enabled" : true } }, "tags" : [ { "key" : "env", "value" : "production" }, { "key" : "team", "value" : "ai-platform" } ] } -
POST https://{Endpoint}/v1/core/runtimes { "name" : "api-gateway-agent", "description" : "对外开放的 API 网关 Agent", "agent_gateway_id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "artifact_source" : { "url" : "swr.cn-north-7.myhuaweicloud.com/agentrun/gateway:v1" }, "identity_configuration" : { "authorizer_type" : "API_KEY", "authorizer_configuration" : { "key_auth" : { "api_keys" : [ { "api_key_name" : "x-api-key", "api_key" : "sk-prod-abc123xyz" } ] } } } }
响应示例
状态码:200
创建成功,返回完整AgentRun信息(含初始版本详情)。
状态码
| 状态码 | 描述 |
|---|---|
| 200 | 创建成功,返回完整AgentRun信息(含初始版本详情)。 |
| 400 | 客户端参数错误(如name为空、必填配置缺失、格式非法等)。 |
| 401 | 未授权(认证令牌缺失、无效或已过期)。 |
| 403 | 禁止访问(认证后权限不足)。 |
| 404 | 引用的资源不存在(如指定的环境ID无效)。 |
| 409 | 资源冲突(如name对应的runtime_id已存在)。 |
| 429 | 请求过于频繁(触发限流)。 |
| 500 | 服务器错误(如数据库插入失败、依赖服务异常等)。 |
错误码
请参见错误码。