更新时间:2026-04-16 GMT+08:00
分享

创建runtime - CreateCoreRuntime

功能介绍

该接口用于创建Agent运行时,支持为该运行时进行入站认证,网络访问,可观测配置等。该接口会同时创建运行时以及对应的初始版本。

适用场景:

部署一个已经开发完成的Agent应用。

为Agent应用配置入站认证。

为Agent应用配置入口和出口网络。

URI

POST /v1/core/runtimes

请求参数

表1 请求Body参数

参数

是否必选

参数类型

描述

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。

取值范围:

不涉及。

默认取值:

不涉及。

表2 CoreRunArtifactSource

参数

是否必选

参数类型

描述

url

String

参数解释:

Agent镜像地址,用于运行时拉取镜像启动Agent服务,可以通过SWR控制台以及SWR的镜像查询接口获取对应的镜像地址。

约束限制:

必须是一个有效的SWR镜像地址。

取值范围:

长度为 1 - 2048 个字符。

默认取值:

不涉及。

commands

Array of strings

参数解释:

启动镜像的命令,示例:python main.py --port=8080。

约束限制:

不涉及。

取值范围:

最多 10 个元素,每个元素长度为 1 - 256 个字符。

默认取值:

不涉及。

表3 CoreRunEnvironmentVariable

参数

是否必选

参数类型

描述

key

String

参数解释:

环境变量键。

约束限制:

不涉及。

取值范围:

必须以字母开头,由英文字母、数字、下划线和点号组成。

默认取值:

不涉及。

value

String

参数解释:

环境变量值。

约束限制:

不涉及。

取值范围:

长度为 1 - 1048576 个字符。

默认取值:

不涉及。

表4 CoreRunIdentityCreateReqBody

参数

是否必选

参数类型

描述

authorizer_type

String

参数解释

Agent运行时所需的入站认证类型,Agent网关将根据该配置进行入站认证。

  • CUSTOM_JWT: OAuth 2.0认证方式,使用自定义JWT认证机制

  • IAM: IAM认证方式,使用IAM签名认证机制

  • API_KEY: API Key认证方式,使用自定义API Key进行认证

约束限制:

不涉及。

取值范围

  • CUSTOM_JWT

  • IAM

  • API_KEY

默认取值:

IAM

authorizer_configuration

CoreRunAuthorizerConfiguration object

参数解释:

运行时入站认证配置。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表5 CoreRunAuthorizerConfiguration

参数

是否必选

参数类型

描述

custom_jwt

CoreRunCustomJWTAuthorizerConfiguration object

参数解释:

运行时自定义JWT类型认证配置。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

key_auth

CoreRunKeyAuthAuthorizerConfiguration object

参数解释

APIKEY入站认证配置。

约束限制:

不涉及。

取值范围

不涉及。

默认取值:

不涉及。

表6 CoreRunCustomJWTAuthorizerConfiguration

参数

是否必选

参数类型

描述

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。

默认取值:

不涉及。

表7 CoreRunCustomClaimValidation

参数

是否必选

参数类型

描述

authorizing_claim_match_value

CoreRunAuthorizingClaimMatchValue object

参数解释

自定义声明匹配配置。

约束限制:

不涉及。

取值范围

不涉及。

默认取值:

不涉及。

inbound_token_claim_name

String

参数解释

要检查的自定义声明字段的名称。

约束限制:

不涉及。

取值范围

长度为 1 - 255 个字符,只包含字母数字、下划线、点号、中划线和冒号。

默认取值:

不涉及。

inbound_token_claim_value_type

String

参数解释

要检查的声明值的数据类型。

  • STRING: 表示字符串类型。

  • STRING_ARRAY: 表示字符串数组类型。

约束限制:

不涉及。

取值范围

  • STRING

  • STRING_ARRAY。

默认取值:

不涉及。

表8 CoreRunAuthorizingClaimMatchValue

参数

是否必选

参数类型

描述

claim_match_operator

String

参数解释

定义声明字段值与要匹配的值之间的关系。

  • EQUALS: 表示完全匹配

  • CONTAINS: 表示包含匹配项

  • CONTAINS_ANY: 表示包含任意匹配项。

约束限制:

不涉及。

取值范围

  • EQUALS

  • CONTAINS

  • CONTAINS_ANY。

默认取值:

不涉及。

claim_match_value

CoreRunClaimMatchValue object

参数解释

入站认证需要校验的自定义Claim字段需要的匹配策略。

约束限制:

不涉及。

取值范围

不涉及。

默认取值:

不涉及。

表9 CoreRunClaimMatchValue

参数

是否必选

参数类型

描述

match_value_string

String

参数解释

入站认证需要校验的自定义Claim字段所要匹配的字符串值。

约束限制:

不涉及。

取值范围

长度为 1 - 255 个字符,只包含字母数字、下划线、点号和中划线。

默认取值:

不涉及。

match_value_string_list

Array of strings

参数解释

入站认证需要校验的自定义Claim字段所要匹配的字符串值列表。

约束限制:

不涉及。

取值范围

最小数量 1,最大数量 50。

默认取值:

不涉及。

表10 CoreRunKeyAuthAuthorizerConfiguration

参数

是否必选

参数类型

描述

api_keys

Array of CoreRunApiKey objects

参数解释

入站认证允许的所有的API KEY密钥列表。

约束限制:

不涉及。

取值范围

最小数量 0,最大数量 10。

默认取值:

不涉及。

表11 CoreRunApiKey

参数

是否必选

参数类型

描述

api_key

String

参数解释

API密钥值。轮换期间,可以使用其中任何一个密钥。如果密钥为空,则会生成一个随机字符串。

约束限制:

不涉及。

取值范围

长度为 1 - 512 个字符,只包含字母数字、中划线和下划线。

默认取值:

不涉及。

api_key_name

String

参数解释

API密钥名称,该名称仅用于标识该密钥,不用于实际认证。

约束限制:

不涉及。

取值范围

长度为 0 - 64 个字符,只包含字母数字、中划线和下划线。

默认取值:

不涉及。

表12 CoreRunNetworkConfig

参数

是否必选

参数类型

描述

network_mode

String

参数解释:

出站网络类型,当前支持如下2种:

  • PUBLIC: 表示公网出口。

  • VPC: 表示虚拟私有云出口。

约束限制:

不涉及。

取值范围:

  • PUBLIC

  • VPC

默认取值:

PUBLIC。

vpc_config

CoreRunVpcConfig object

参数解释:

vpc网络配置。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表13 CoreRunVpcConfig

参数

是否必选

参数类型

描述

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个。

默认取值:

不涉及。

表14 CoreRunInvokeConfig

参数

是否必选

参数类型

描述

port

Integer

参数解释:

智能体运行时监听的端口号,用于接收外部请求。

约束限制:

不涉及。

取值范围:

1 - 65535

默认值:

8080

protocol

String

参数解释:

智能体运行时支持的协议类型

  • HTTP: HTTP协议

  • MCP: MCP协议

约束限制:

不涉及。

取值范围:

  • HTTP

  • MCP

默认值:

HTTP

表15 CoreRunObservability

参数

是否必选

参数类型

描述

logs

CoreRunLogsConfig object

参数解释:

日志采集配置。

约束限制:

日志组ID与日志流ID必须配套使用,要么同时缺省,要么同时填写。

取值范围:

不涉及。

默认取值:

不涉及。

metrics

CoreRunMetricsObservabilityConfig object

参数解释:

自定义指标采集详细配置。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

tracing

CoreRunTracingObservabilityConfig object

参数解释:

调用链采集配置。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表16 CoreRunLogsConfig

参数

是否必选

参数类型

描述

enabled

Boolean

参数解释:

是否开启日志采集。

  • 未开启,托管运行时过程产生的日志无法上报至云日志服务(LTS)。

  • 开启后,托管运行时过程产生的日志会上报云日志服务(LTS)。

约束限制:

不涉及。

取值范围:

  • true

  • false

默认值:

false

group_id

String

参数解释:

日志组ID。

约束限制:

与日志流ID配套使用,需同时填写或同时缺省。

取值范围:

长度为 1 - 64 个字符。

默认值:

无。

stream_id

String

参数解释:

日志流ID。

约束限制:

与日志组ID配套使用,需同时填写或同时缺省。

取值范围:

长度为 1 - 64 个字符。

默认值:

无。

project_id

String

参数解释:

日志流所在项目ID。

约束限制:

与日志组ID配套使用,需同时填写或同时缺省。

取值范围:

长度为 1 - 64 个字符。

默认值:

无。

表17 CoreRunMetricsObservabilityConfig

参数

是否必选

参数类型

描述

enabled

Boolean

参数解释:

是否开启自定义指标采集。

  • 未开启,托管运行时过程产生的自定义指标无法上报至应用运维管理服务(AOM)。

  • 开启后,托管运行时过程产生的自定义指标会上报应用运维管理服务(AOM)。

约束限制:

不涉及。

取值范围:

  • true

  • false

默认值:

false

instance_id

String

参数解释:

自定义指标实例ID。

约束限制:

不涉及。

取值范围:

长度为 1 - 64 个字符。

默认取值:

不涉及。

表18 CoreRunTracingObservabilityConfig

参数

是否必选

参数类型

描述

enabled

Boolean

参数解释:

是否开启调用链采集。

  • 未开启,托管运行时过程产生的调用链数据无法上报至应用性能管理服务(APM)。

  • 开启后,托管运行时过程产生的调用链数据会上报应用性能管理服务(APM)。

约束限制:

不涉及。

取值范围:

  • true

  • false

默认值:

false

service_group

String

参数解释:

调用链服务应用名。

约束限制:

不涉及。

取值范围:

长度为 1 - 64 个字符。

默认取值:

不涉及。

表19 CoreRunTagItem

参数

是否必选

参数类型

描述

key

String

参数解释:

标签键。

约束限制:

不涉及。

取值范围:

长度为 1 - 128 个字符。

默认取值:

不涉及。

value

String

参数解释:

标签值。

约束限制:

不涉及。

取值范围:

长度为 0 - 255 个字符。

默认取值:

不涉及。

响应参数

状态码:200

创建成功,返回完整AgentRun信息(含初始版本详情)。

状态码:400

表20 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码。枚举值说明:AgentArts.03000400表示客户端请求参数错误。

取值范围

固定值:AgentArts.03000400。

error_msg

String

错误详细信息。

状态码:401

表21 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。枚举值说明:AgentArts.03000401表示未授权(认证令牌缺失、无效或已过期)。

取值范围:

不涉及。

error_msg

String

参数解释

错误详细信息。

取值范围

长度为 1 - 512 个字符。

状态码:403

表22 响应Body参数

参数

参数类型

描述

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。

表23 CoreRunErrorDetail

参数

参数类型

描述

error_code

String

参数解释

错误码。

取值范围

长度为 18 个字符。

error_msg

String

参数解释

错误信息。

取值范围

长度为 1 - 1024 个字符。

状态码:404

表24 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码。枚举值说明:AgentArts.03000404表示资源不存在。

取值范围

固定值:AgentArts.03000404。

error_msg

String

参数解释

错误详细信息。

取值范围

长度为 1 - 512 个字符。

状态码:409

表25 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码。枚举值说明:AgentArts.03000409表示资源冲突。

取值范围

固定值:AgentArts.03000409。

error_msg

String

参数解释

错误详细信息。

取值范围

长度为 1 - 512 个字符。

状态码:429

表26 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码。枚举值说明:AgentArts.03000429表示请求过于频繁(触发限流)。

取值范围

固定值:AgentArts.03000429。

error_msg

String

参数解释

错误详细信息。

取值范围

长度为 1 - 512 个字符。

状态码:500

表27 响应Body参数

参数

参数类型

描述

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

服务器错误(如数据库插入失败、依赖服务异常等)。

错误码

请参见错误码

相关文档