弹性部署API文档
OnethingAI
发布于:2025-06-12
获取开发者密钥
此密钥为平台API操作唯一标识,务必保证不要泄露
❗️登录OneThingAI平台,进入账户中心,选择开发者密钥自助创建密钥
简介
OneThingAI 弹性部署api,若需要使用此功能,请联系客服开通
域名:https://api-lab.onethingai.com
内容格式:application/json
必须请求头信息
头名称 | 内容 |
---|---|
Authorization | Bearer {TOKEN} |
弹性部署接口列表
字段名 | 含义 | 类型 | 说明 |
code | 返回code | int | 0为成功,非0为失败 |
msg | 信息返回 | int | 返回信息 |
data | 返回内容 | data | 返回内容 |
1、获取镜像列表
请求地址:/api/v1/deploy/image/list
接口描述:获取弹性部署镜像列表,上传镜像方法在【控制台】->【我的镜像】->【推送镜像】
请求方式:GET
主要返回字段说明
字段名 | 含义 | 类型 | 说明 |
---|---|---|---|
appImageId | 镜像id | string | 弹性部署镜像id |
appImageName | 镜像名称 | string | 镜像名称 |
appImageVersion | 镜像版本 | string | 镜像版本 |
appImageDescription | 描述 | string | 镜像描述 |
regionId | 镜像区域id | int | 镜像所属区域id |
namespace | 镜像命名空间 | string | 镜像命名空间 |
appImageTotalSize | 镜像大小 | float64 | 镜像大小,单位 MB |
createdAt | 创建时间 | int | 镜像创建时间戳 |
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v1/deploy/image/list' -H 'Authorization: Bearer {TOKEN}'
返回例子
{
"code": 0,
"data": {
"deployImageList": [
{
"appImageDescription": "",
"appImageId": "CUSTOM_11",
"appImageName": "u_186a3/cc_supervisor",
"appImageTotalSize": 75.617,
"appImageVersion": "v0.0.2",
"createdAt": 1726727988,
"namespace": "u_186a3",
"regionId": 1
},
{
"appImageDescription": "",
"appImageId": "CUSTOM_10",
"appImageName": "u_186a3/cc_supervisor",
"appImageTotalSize": 63.308,
"appImageVersion": "v0.0.1",
"createdAt": 1726726839,
"namespace": "u_186a3",
"regionId": 1
}
]
},
"msg": "Success"
}
2、创建任务
接口地址:/api/v1/deploy
接口描述:弹性部署镜像任务创建
请求方式:POST
请求参数
字段名 | 含义 | 类型 | 是否必填 | 说明 |
---|---|---|---|---|
appImageId | 镜像id | string | 是 | 从1、弹性部署镜像列表获取 |
name | 任务名称 | string | 是 | 弹性部署任务名称,可自行定义 |
billType | 计费类型 | int | 是 | 计费类型,暂只支持 3 (按量计费) |
gpuNum | GPU卡数 | int | 是 | 实例容器,配置GPU卡数(单个实例内分配的卡数) |
replicas | 任务副本数 | int | 是 | 任务副本数量 |
regionId | 区域Id | int | 是 | 弹性部署镜像所属区域id |
gpuType | GPU类型 | string | 是 | GPU类型,暂只支持 NVIDIA-GEFORCE-RTX-4090 |
cmd | 启动命令 | string | 否 | 实例启动命令 |
envs | 环境变量 | []envs | 否 | 环境变量 |
customPort | 自定义端口 | []customPort | 否 | 自定义端口 |
envs:
字段名 | 含义 | 类型 | 说明 |
---|---|---|---|
name | 环境变量名称 | string | 环境变量名称 |
value | 环境变量值 | string | 环境变量值 |
customPort
字段名 | 含义 | 类型 | 说明 |
---|---|---|---|
localPort | 端口号 | int | 端口号 |
type | 协议类型 | string | 协议类型仅支持 http 或者 tcp |
curl 请求例子
curl -X POST 'https://api-lab.onethingai.com/api/v1/deploy' \
-H 'Authorization: Bearer {TOKEN}' \
-H 'Content-Type: application/json' \
-d'{
"name": "测试",
"appImageId": "CUSTOM_11",
"billType":3,
"gpuNum":1,
"regionId":6,
"gpuType":"NVIDIA-GEFORCE-RTX-4090",
"replicas": 2,
"cmd": "sleep infinity",
"envs":[
{
"name": "myenv",
"value": "import"
}
],
"customPort":[
{
"localPort": 1232,
"type": "http"
}
]
}'
返回例子
{
"code": 0,
"data": {
"deployTaskId": "jgd0ic0e8rd2g56i-wy7pto52"
},
"msg": "Success"
}
3、获取任务列表
接口地址:/api/v1/deploy
接口描述:获取弹性部署任务列表
请求方式:GET
请求参数
字段名 | 含义 | 类型 | 是否必填 | 说明 |
---|---|---|---|---|
name | 弹性部署任务名称 | string | 否 | 自定义名称 |
appImageName | 镜像名称 | string | 否 | 镜像名称 |
主要返回字段说明
字段名 | 含义 | 类型 | 说明 |
---|---|---|---|
appImageId | 镜像id | string | 镜像id |
appImageName | 镜像名称 | string | 镜像名称 |
appImageVersion | 镜像版本 | string | 镜像版本,如:v1.8 |
createdAt | 创建时间 | int | 创建时间戳 |
updatedAt | 更新时间 | int | 更新时间戳 |
deployTaskId | 弹性部署任务id | string | 弹性部署任务id |
gpuType | GPU类型 | string | gpu类型 |
name | 弹性部署任务名称 | string | 弹性部署任务名称 |
replicas | 副本数 | int | 副本数 |
runningReplicas | 运行中副本数 | int | 运行中副本数 |
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v1/deploy?name=线上测试&appImageName=u_186a3/cc_supervisor' -H 'Authorization: Bearer {TOKEN}'
返回例子
{
"code": 0,
"data": {
"deployList": [
{
"appImageId": "CUSTOM_11",
"appImageName": "u_186a3/cc_supervisor",
"appImageVersion": "v0.0.2",
"createdAt": 1734681480,
"deployTaskId": "r5wnomahhwx690qg-bxzqgm0h",
"gpuType": "NVIDIA-GEFORCE-RTX-3080",
"name": "线上测试",
"replicas": 1,
"runningReplicas": 1,
"updatedAt": 1734681480
}
......
]
},
"msg": "Success"
}
4、任务删除
接口地址:/api/v1/deploy/{deployTaskId}
接口描述:弹性部署任务删除
请求方式:DELETE
请求参数
无
curl 请求例子
curl -X DELETE 'https://api-lab.onethingai.com/api/v1/deploy/z7ajrcxewlb4ywa7-r25tx11x' -H 'Authorization: Bearer {TOKEN}'
返回例子
{
"code":0,
"msg": "Success",
"data": null
}
5、获取任务实例列表
接口地址:/api/v1/deploy/{deployTaskId}
接口描述:弹性部署任务实例列表
请求方式:GET
主要返回字段说明
字段名 | 含义 | 类型 | 说明 |
---|---|---|---|
instanceId | 实例id | string | 实例id |
appImageId | 镜像id | string | 镜像id |
appImageName | 镜像名称 | string | 镜像名称 |
appImageVersion | 镜像版本 | string | 镜像版本,如:v1.8 |
createdAt | 创建时间 | int | 创建时间戳 |
deployTaskId | 弹性部署任务id | string | 弹性部署任务id |
sshInfo | ssh登录信息 | sshInfo | ssh登录信息, |
customPortList | 自定义端口信息 | []customPortList | 自定义端口信息 |
status | 实例状态 | int | 实例状态:部署中:100, 开机中:200, 运行中:300, 关机中: 400,重置中: 500, 更换镜像中:600,释放资源中:700, 已关机:800 |
sshInfo:
字段名 | 含义 | 类型 | 说明 |
---|---|---|---|
user | 用户名 | string | 用户名 |
pwd | 密码 | string | 密码 |
host | host | string | host |
port | 端口 | int | 端口 |
customPortList
字段名 | 含义 | 类型 | 说明 |
---|---|---|---|
subDomain | 访问域名 | string | 访问域名,直接访问即可 |
type | 协议类型 | string | 协议类型 |
localPort | 映射端口 | int | 映射端口 |
curl 请求例子
curl -X GET 'https://api-lab.onethingai.com/api/v1/deploy/jgd0ic0e8rd2g56i-wy7pto52' -H 'Authorization: Bearer {TOKEN}'
返回例子
{
"code": 0,
"data": {
"deployInstanceList": [
{
"instanceId": "r5wnomahhwx690qg-bxzqgm0h-9rpjth",
"appImageId": "CUSTOM_11",
"appImageName": "u_186a3/cc_supervisor",
"appImageVersion": "v0.0.2",
"createdAt": 1734681480,
"customPortList": [
{
"subDomain": "6xv4hp1c833eg99-92h6x7oy2je9p-cz-qaiq-custom.service.onethingclient.com",
"type": "http",
"localPort": 1232
}
],
"deployTaskId": "r5wnomahhwx690qg-bxzqgm0h",
"sshInfo": {
"user": "root",
"pwd": "F)GMoF*!IS",
"host": "106.8.130.171",
"port": 13793
},
"status": 300
}
]
},
"msg": "Success"
}
6、任务更改镜像
接口地址:/api/v1/deploy/{deployTaskId}/replace/image/{appImageId}
接口描述:更改镜像
请求方式:PUT
curl 请求例子
{
"code":0,
"data": null,
"msg": "Success"
}
返回例子
{
"code":0,
"data": null,
"msg": "Success"
}
7、任务更改配置
接口地址:/api/v1/deploy/{deployTaskId}/config
接口描述:更改配置
请求方式:PUT
请求参数
字段名 | 含义 | 类型 | 是否必填 | 说明 |
---|---|---|---|---|
cmd | 启动命令 | string | 否 | 实例启动命令 |
envs | 环境变量 | []envs | 否 | 环境变量 |
customPort | 自定义端口 | []customPort | 否 | 自定义端口 |
envs:
字段名 | 含义 | 类型 | 说明 |
---|---|---|---|
name | 环境变量名称 | string | 环境变量名称 |
value | 环境变量值 | string | 环境变量值 |
customPort
字段名 | 含义 | 类型 | 说明 |
---|---|---|---|
localPort | 端口号 | int | 端口号 |
type | 协议类型 | string | 协议类型仅支持 http 或者 tcp |
curl 请求例子
curl -X PUT 'https://api-lab.onethingai.com/api/v1/deploy/hwg24l7ngpg00lsr-16s4z4gj/config' \
-H 'Authorization: Bearer {TOKEN}' \
-H 'Content-Type: application/json' \
-d'{
"cmd": "sleep infinity",
"envs":[
{
"name": "myenv",
"value": "import"
}
],
"customPort":[
{
"localPort": 1222,
"type": "http"
}
],
}'
返回例子
{
"code":0,
"data": null,
"msg": "Success"
}
8、任务更改副本数
接口地址:/api/v1/deploy/{deployTaskId}/replicas/{replicas}
接口描述:更改副本数
请求方式:PUT
curl 请求例子
curl -X PUT 'https://api-lab.onethingai.com/api/v1/deploy/z7ajrcxewlb4ywa7-r25tx11x/replicas/1' -H 'Authorization: Bearer {TOKEN}'
返回例子
{
"code":0,
"data": null,
"msg": "Success"
}
9、弹性部署账单接口
请求地址:/api/v1/deploy/bill
接口描述:用户弹性部署账单
请求方式:GET
请求参数
字段名 | 含义 | 类型 | 是否必填 | 说明 |
---|---|---|---|---|
page | 页数 | int | 是 | 页数 |
pageSize | 每页大小 | int | 是 | 每页大小,0 < pageSize <= 100 |
主要返回字段说明
字段名 | 含义 | 类型 | 说明 |
---|---|---|---|
orderId | 订单id | string | 订单id |
createdAt | 扣费时间 | int | 扣费时间戳 |
appId | 实例id | string | 实例id |
consumCash | 消费金额 | float64 | 消费金额 |
voucherDeductCash | 代金券消费 | float64 | 代金券消费 |
actualPayCash | 实付金额 | float64 | 实付金额 |
businessType | 交易事件 | Int | 交易事件,1:实例使用,2:镜像储存,3:文件存储,4:实例扩容 |
billType | 计费方式 | Int | 计费方式,1:包月,2:包天,3:按量 |
event | 扣费事件 | string | 扣费事件 |
totalDiscountPrice | 打折金额 | Float64 | 打折金额 |
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v1/deploy/bill?page=2&pageSize=100' -H 'Authorization: Bearer {TOKEN}'
返回例子
"code": 0,
"data": {
"orderList": [
{
"actualPayCash": 6.42,
"billType": 3,
"businessType": 7,
"consumeCash": 6.42,
"createdAt": 1734423000,
"deployTaskId": "b2fgrf7eblsywyss-9usqg4rk",
"event": "弹性部署结算",
"orderId": "20241217161000001003293221",
"totalDiscountPrice": 0,
"voucherDeductCash": 0
},
{
"actualPayCash": 14.4,
"billType": 3,
"businessType": 7,
"consumeCash": 14.4,
"createdAt": 1734336600,
"deployTaskId": "b2fgrf7eblsywyss-9usqg4rk",
"event": "弹性部署结算",
"orderId": "20241216161000001003283230",
"totalDiscountPrice": 0,
"voucherDeductCash": 0
},
{
"actualPayCash": 14.34,
"billType": 3,
"businessType": 7,
"consumeCash": 14.34,
"createdAt": 1734250200,
"deployTaskId": "b2fgrf7eblsywyss-9usqg4rk",
"event": "弹性部署结算",
"orderId": "20241215161000001003273234",
"totalDiscountPrice": 0,
"voucherDeductCash": 0
},
{
"actualPayCash": 7.51,
"billType": 3,
"businessType": 7,
"consumeCash": 7.51,
"createdAt": 1734163800,
"deployTaskId": "b2fgrf7eblsywyss-9usqg4rk",
"event": "弹性部署结算",
"orderId": "20241214161000001003263213",
"totalDiscountPrice": 0,
"voucherDeductCash": 0
},
{
"actualPayCash": 8.81,
"billType": 3,
"businessType": 7,
"consumeCash": 8.81,
"createdAt": 1734077400,
"deployTaskId": "605q3oy4rfyogsv3-fismmj3m",
"event": "弹性部署结算",
"orderId": "20241213161000001003253575",
"totalDiscountPrice": 0,
"voucherDeductCash": 0
}
],
"pagination": {
"total": 16,
"page": 1,
"pageSize": 5
}
},
"msg": "Success"
}