# 创建服务版本
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南
接口英文名:createCloudbaseServiceVersion
通过本接口可以创建服务版本,使用过程中如遇到问题,可在开放平台服务商专区发帖交流。
# 1. 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/componenttcb/createcloudbaserunserverversion?access_token=ACCESS_TOKEN
# 云调用
- 本接口不支持云调用
# 第三方调用
- 本接口仅支持第三方平台使用 component_access_token 自己调用。
# 2. 请求参数
# 查询参数 Query String parameters
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| access_token | string | 是 | 接口调用凭证,可使用 component_access_token |
# 请求体 Request Payload
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| env_id | string | 是 | 环境ID |
| upload_type | string | 是 | 枚举(package/repository/image/jar/war) |
| flow_ratio | number | 是 | 流量占比 |
| cpu | number | 是 | Cpu的大小,单位:核 |
| mem | number | 是 | Mem的大小,单位:G |
| min_num | number | 是 | 最小副本数,最小值:0 |
| max_num | number | 是 | 副本最大数,最大值:50 |
| policy_type | string | 是 | 策略类型(枚举值:比如cpu) |
| policy_threshold | number | 是 | 策略阈值 |
| container_port | number | 是 | 服务端口 |
| server_name | string | 否 | 服务名称 |
| repository_type | string | 否 | repository的类型(coding/gitlab/github/coding) |
| dockerfile_path | string | 否 | Dockerfile地址 |
| build_dir | string | 否 | 构建目录 |
| env_params | string | 否 | 环境变量 |
| repository | string | 否 | repository地址 |
| branch | string | 否 | 分支 |
| version_remark | string | 否 | 版本备注 |
| package_name | string | 否 | 代码包名字 |
| package_version | string | 否 | 代码包的版本 |
| image_info | object | 否 | Image的详情 |
| code_detail | object | 否 | Github等拉取代码的详情 |
| image_secret_info | object | 否 | 私有镜像秘钥信息 |
| image_pull_secret | string | 否 | 私有镜像 认证名称 |
| custom_logs | string | 否 | 用户自定义采集日志路径 |
| initial_delay_seconds | number | 否 | 延迟多长时间开始健康检查(单位s) |
| mount_volume_info | objarray | 否 | cfs挂载信息 |
| access_type | number | 否 | 4 代表只能微信链路访问 |
| es_info | object | 否 | es信息 |
| enable_union | boolean | 否 | 是否使用统一域名 |
| server_path | string | 否 | 服务路径 |
| sidecar_specs | objarray | 否 | 容器的描述文件 |
| security | object | 否 | 安全特性 |
| service_volumes | objarray | 否 | 服务磁盘挂载 |
| is_create_jns_gw | number | 否 | 是否创建JnsGw 0未传默认创建 1创建 2不创建 |
| service_volume_mounts | objarray | 否 | 数据卷挂载参数 |
| has_dockerfile | number | 否 | 是否有Dockerfile:0-default has, 1-has, 2-has not |
| base_image | string | 否 | 基础镜像 |
| entry_point | string | 否 | 容器启动入口命令 |
| repo_language | string | 否 | 仓库语言 |
| upload_filename | string | 否 | 文件名 |
| policy_detail | objarray | 否 | 自动扩缩容策略组 |
# Body.image_info Object Payload
Image的详情
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| repository_name | string | 否 | 镜像仓库名称 |
| is_public | boolean | 否 | 是否公有 |
| tag_name | string | 否 | 镜像 tag 名称 |
| server_addr | string | 否 | 镜像server |
| image_url | string | 否 | 镜像拉取地址 |
# Body.code_detail Object Payload
Github等拉取代码的详情
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | object | 否 | repo的名字 |
| url | string | 否 | repo的url |
# Body.image_secret_info Object Payload
私有镜像秘钥信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| registry_server | string | 否 | 镜像地址 |
| user_name | string | 否 | 用户名 |
| password | string | 否 | 仓库密码 |
| string | 否 | 邮箱 |
# Body.mount_volume_info(Array) Object Payload
cfs挂载信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 资源名 |
| mount_path | string | 否 | 挂载路径 |
| read_only | boolean | 否 | 是否只读 |
| nfs_volumes | objarray | 否 | Nfs挂载信息 |
# Body.es_info Object Payload
es信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | number | 否 | es的id |
| secret_name | string | 否 | secret名字 |
| ip | string | 否 | ip地址 |
| port | number | 否 | 端口 |
| index | string | 否 | 索引 |
| account | string | 否 | 用户名 |
| password | string | 否 | 密码 |
# Body.sidecar_specs(Array) Object Payload
容器的描述文件
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| container_image | string | 否 | 容器镜像 |
| container_port | number | 否 | 容器端口 |
| container_name | string | 否 | 容器的名称 |
| env_var | string | 否 | kv的 json 字符串 |
| initial_delay_seconds | number | 否 | InitialDelaySeconds 延迟多长时间启动健康检查 |
| cpu | number | 否 | CPU大小 |
| mem | number | 否 | 内存大小(单位:M) |
| security | object | 否 | 安全特性 |
| volume_mount_infos | objarray | 否 | 挂载信息 |
# Body.security Object Payload
安全特性
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| capabilities | object | 是 | 安全特性 |
# Body.service_volumes(Array) Object Payload
服务磁盘挂载
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 名称 |
| nfs | object | 否 | NFS的挂载方式 |
| secret_name | string | 否 | secret名称 |
| enable_empty_dir_volume | boolean | 否 | 是否开启临时目录逐步废弃,请使用 EmptyDir |
| empty_dir | object | 否 | emptydir数据卷详细信息 |
# Body.service_volume_mounts(Array) Object Payload
数据卷挂载参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | Volume 名称 |
| mount_path | string | 否 | 挂载路径 |
| read_only | boolean | 否 | 是否只读 |
| sub_path | string | 否 | 子路径 |
| mount_propagation | string | 否 | 传播挂载方式 |
# Body.policy_detail(Array) Object Payload
自动扩缩容策略组
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| policy_type | string | 否 | 策略类型 |
| policy_threshold | number | 否 | 策略阈值 |
# Body.code_detail.name Object Payload
repo的名字
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | repo的名字 |
| full_name | string | 否 | repo的完整全名 |
# Body.mount_volume_info(Array).nfs_volumesObject Payload
Object PayloadNfs挂载信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| server | string | 否 | NFS挂载Server |
| path | string | 否 | Server路径 |
| read_only | boolean | 否 | 是否只读 |
| secret_name | string | 否 | secret名称 |
| enable_empty_dir_volume | boolean | 否 | 临时目录 |
# Body.sidecar_specs(Array).security Object Payload
安全特性
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| capabilities | object | 否 | 安全特性 |
# Body.sidecar_specs(Array).security.capabilities Object Payload
安全特性
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| add | array | 否 | 启用安全能力项列表 |
| drop | array | 否 | 禁用安全能力向列表 |
# Body.sidecar_specs(Array).volume_mount_infosObject Payload
Object Payload挂载信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 资源名 |
| mount_path | string | 否 | 挂载路径 |
| read_only | boolean | 否 | 是否只读 |
| nfs_volumes | objarray | 否 | Nfs挂载信息 |
# Body.sidecar_specs(Array).volume_mount_infos.nfs_volumesObject Payload
Object PayloadNfs挂载信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| server | string | 否 | NFS挂载Server |
| path | string | 否 | Server路径 |
| read_only | boolean | 否 | 是否只读 |
| secret_name | string | 否 | secret名称 |
| enable_empty_dir_volume | boolean | 否 | 临时目录 |
# Body.security.capabilities Object Payload
安全特性
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| add | array | 否 | 启用安全能力项列表 |
| drop | array | 否 | 禁用安全能力向列表 |
# Body.service_volumes(Array).nfs Object Payload
NFS的挂载方式
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| server | string | 否 | NFS挂载Server |
| path | string | 否 | Server路径 |
| read_only | boolean | 否 | 是否只读 |
| secret_name | string | 否 | secret名称 |
| enable_empty_dir_volume | boolean | 否 | 临时目录 |
# Body.service_volumes(Array).empty_dir Object Payload
emptydir数据卷详细信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enable_empty_dir_volume | boolean | 否 | 启用 emptydir 数据卷 |
| medium | string | 否 | "","Memory","HugePages" |
| size_limit | string | 否 | emptydir数据卷大小 |
# 3. 返回参数
# 返回体 Response Payload
| 参数名 | 类型 | 说明 |
|---|---|---|
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
| result | string | 结果(creating/succ) |
| version_name | string | 版本名称(只有 Result 为succ的时候,才会返回VersionName) |
| run_id | string | 操作记录id |
# 4. 注意事项
本接口无特殊注意事项
# 5. 代码示例
请求示例
{
"env_id": "test-6gxk23no5605e14f",
"upload_type": "repository",
"flow_ratio": 0,
"cpu": 0.25,
"mem": 0.5,
"min_num": 0,
"max_num": 1,
"policy_type": "cpu",
"policy_threshold": 60,
"container_port": 80,
"server_name": "test",
"repository_type": "github",
"dockerfile_path": "Dockerfile",
"repository": "test/wx-container-demo",
"branch": "main",
"code_detail": {
"name": {
"name": "wx-container-demo",
"full_name": "test/wx-container-demo"
}
},
"has_dockerfile": 1,
"env_params": "{}"
}
返回示例
{
"errcode": 0,
"errmsg": "ok",
"result": "succ",
"version_name": "ss-012",
"run_id": "1mz98HwJmGdACf"
}
# 6. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。
| 错误码 | 错误描述 | 解决方案 |
|---|---|---|
| -1000 | system error | 系统错误 |
| -1 | system error | 系统繁忙,此时请开发者稍候再试 |
| 0 | ok | ok |
| 40014 | invalid access_token | 不合法的 access_token ,请开发者认真比对 access_token 的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口 |
| 40097 | invalid args | 参数错误 |
| 40101 | missing parameter | 缺少必填参数 |
| 41001 | access_token missing | 缺少 access_token 参数 |
| 42001 | access_token expired | access_token 超时,请检查 access_token 的有效期,请参考基础支持 - 获取 access_token 中,对 access_token 的详细机制说明 |
| 43002 | require POST method | 需要 POST 请求 |
| 44002 | empty post data | POST 的数据包为空 |
| 47001 | data format error | 解析 JSON/XML 内容错误;post 数据中参数缺失;检查修正后重试。 |
| 85088 | no qbase privilege | 该APP未开通云开发 |
# 7. 适用范围
本接口支持「第三方平台」账号类型代调用,权限集请参考「调用方式」部分。其他账号类型如无特殊说明,均不可调用。