创建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 个字符。 |
请求示例
-
{ "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" : { } } } -
{ "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" } ] } -
{ "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 |
服务器错误(如数据库插入失败、依赖服务异常等)。 |
错误码
请参见错误码。