# 创建服务版本

调试诊断

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:createCloudbaseServiceVersion

通过本接口可以创建服务版本,使用过程中如遇到问题,可在开放平台服务商专区发帖交流。

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/componenttcb/createcloudbaserunserverversion?access_token=ACCESS_TOKEN

# 云调用

  • 本接口不支持云调用

# 第三方调用

# 2. 请求参数

# 查询参数 Query String parameters

参数名类型必填说明
access_tokenstring接口调用凭证,可使用 component_access_token

# 请求体 Request Payload

参数名类型必填说明
env_idstring环境ID
upload_typestring枚举(package/repository/image/jar/war)
flow_rationumber流量占比
cpunumberCpu的大小,单位:核
memnumberMem的大小,单位:G
min_numnumber最小副本数,最小值:0
max_numnumber副本最大数,最大值:50
policy_typestring策略类型(枚举值:比如cpu)
policy_thresholdnumber策略阈值
container_portnumber服务端口
server_namestring服务名称
repository_typestringrepository的类型(coding/gitlab/github/coding)
dockerfile_pathstringDockerfile地址
build_dirstring构建目录
env_paramsstring环境变量
repositorystringrepository地址
branchstring分支
version_remarkstring版本备注
package_namestring代码包名字
package_versionstring代码包的版本
image_infoobjectImage的详情
code_detailobjectGithub等拉取代码的详情
image_secret_infoobject私有镜像秘钥信息
image_pull_secretstring私有镜像 认证名称
custom_logsstring用户自定义采集日志路径
initial_delay_secondsnumber延迟多长时间开始健康检查(单位s)
mount_volume_infoobjarraycfs挂载信息
access_typenumber4 代表只能微信链路访问
es_infoobjectes信息
enable_unionboolean是否使用统一域名
server_pathstring服务路径
sidecar_specsobjarray容器的描述文件
securityobject安全特性
service_volumesobjarray服务磁盘挂载
is_create_jns_gwnumber是否创建JnsGw 0未传默认创建 1创建 2不创建
service_volume_mountsobjarray数据卷挂载参数
has_dockerfilenumber是否有Dockerfile:0-default has, 1-has, 2-has not
base_imagestring基础镜像
entry_pointstring容器启动入口命令
repo_languagestring仓库语言
upload_filenamestring文件名
policy_detailobjarray自动扩缩容策略组

# Body.image_info Object Payload

Image的详情

参数名类型必填说明
repository_namestring镜像仓库名称
is_publicboolean是否公有
tag_namestring镜像 tag 名称
server_addrstring镜像server
image_urlstring镜像拉取地址

# Body.code_detail Object Payload

Github等拉取代码的详情

参数名类型必填说明
nameobjectrepo的名字
urlstringrepo的url

# Body.image_secret_info Object Payload

私有镜像秘钥信息

参数名类型必填说明
registry_serverstring镜像地址
user_namestring用户名
passwordstring仓库密码
emailstring邮箱

# Body.mount_volume_info(Array) Object Payload

cfs挂载信息

参数名类型必填说明
namestring资源名
mount_pathstring挂载路径
read_onlyboolean是否只读
nfs_volumesobjarrayNfs挂载信息

# Body.es_info Object Payload

es信息

参数名类型必填说明
idnumberes的id
secret_namestringsecret名字
ipstringip地址
portnumber端口
indexstring索引
accountstring用户名
passwordstring密码

# Body.sidecar_specs(Array) Object Payload

容器的描述文件

参数名类型必填说明
container_imagestring容器镜像
container_portnumber容器端口
container_namestring容器的名称
env_varstringkv的 json 字符串
initial_delay_secondsnumberInitialDelaySeconds 延迟多长时间启动健康检查
cpunumberCPU大小
memnumber内存大小(单位:M)
securityobject安全特性
volume_mount_infosobjarray挂载信息

# Body.security Object Payload

安全特性

参数名类型必填说明
capabilitiesobject安全特性

# Body.service_volumes(Array) Object Payload

服务磁盘挂载

参数名类型必填说明
namestring名称
nfsobjectNFS的挂载方式
secret_namestringsecret名称
enable_empty_dir_volumeboolean是否开启临时目录逐步废弃,请使用 EmptyDir
empty_dirobjectemptydir数据卷详细信息

# Body.service_volume_mounts(Array) Object Payload

数据卷挂载参数

参数名类型必填说明
namestringVolume 名称
mount_pathstring挂载路径
read_onlyboolean是否只读
sub_pathstring子路径
mount_propagationstring传播挂载方式

# Body.policy_detail(Array) Object Payload

自动扩缩容策略组

参数名类型必填说明
policy_typestring策略类型
policy_thresholdnumber策略阈值

# Body.code_detail.name Object Payload

repo的名字

参数名类型必填说明
namestringrepo的名字
full_namestringrepo的完整全名

# Body.mount_volume_info(Array).nfs_volumesObject Payload

Nfs挂载信息

参数名类型必填说明
serverstringNFS挂载Server
pathstringServer路径
read_onlyboolean是否只读
secret_namestringsecret名称
enable_empty_dir_volumeboolean临时目录

# Body.sidecar_specs(Array).security Object Payload

安全特性

参数名类型必填说明
capabilitiesobject安全特性

# Body.sidecar_specs(Array).security.capabilities Object Payload

安全特性

参数名类型必填说明
addarray启用安全能力项列表
droparray禁用安全能力向列表

# Body.sidecar_specs(Array).volume_mount_infosObject Payload

挂载信息

参数名类型必填说明
namestring资源名
mount_pathstring挂载路径
read_onlyboolean是否只读
nfs_volumesobjarrayNfs挂载信息

# Body.sidecar_specs(Array).volume_mount_infos.nfs_volumesObject Payload

Nfs挂载信息

参数名类型必填说明
serverstringNFS挂载Server
pathstringServer路径
read_onlyboolean是否只读
secret_namestringsecret名称
enable_empty_dir_volumeboolean临时目录

# Body.security.capabilities Object Payload

安全特性

参数名类型必填说明
addarray启用安全能力项列表
droparray禁用安全能力向列表

# Body.service_volumes(Array).nfs Object Payload

NFS的挂载方式

参数名类型必填说明
serverstringNFS挂载Server
pathstringServer路径
read_onlyboolean是否只读
secret_namestringsecret名称
enable_empty_dir_volumeboolean临时目录

# Body.service_volumes(Array).empty_dir Object Payload

emptydir数据卷详细信息

参数名类型必填说明
enable_empty_dir_volumeboolean启用 emptydir 数据卷
mediumstring"","Memory","HugePages"
size_limitstringemptydir数据卷大小

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息
resultstring结果(creating/succ)
version_namestring版本名称(只有 Result 为succ的时候,才会返回VersionName)
run_idstring操作记录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 诊断工具 辅助定位和分析问题。

错误码错误描述解决方案
-1000system error系统错误
-1system error系统繁忙,此时请开发者稍候再试
0okok
40014invalid access_token不合法的 access_token ,请开发者认真比对 access_token 的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口
40097invalid args参数错误
40101missing parameter缺少必填参数
41001access_token missing缺少 access_token 参数
42001access_token expiredaccess_token 超时,请检查 access_token 的有效期,请参考基础支持 - 获取 access_token 中,对 access_token 的详细机制说明
43002require POST method需要 POST 请求
44002empty post dataPOST 的数据包为空
47001data format error解析 JSON/XML 内容错误;post 数据中参数缺失;检查修正后重试。
85088no qbase privilege该APP未开通云开发

# 7. 适用范围

本接口支持「第三方平台」账号类型代调用,权限集请参考「调用方式」部分。其他账号类型如无特殊说明,均不可调用。