矩池云开放API
  1. PaaS API
矩池云开放API
  • PaaS API
    • 新增任务
      POST
    • 查询单个任务详情
      GET
    • 查询所有任务状态
      GET
    • 查询所有任务详情
      GET
    • 取消任务
      DELETE
  1. PaaS API

新增任务

POST
/v1/job
该接口用于创建任务,在用户按需指定任务的运行环境、启动命令、环境变量(选填)等信息,系统将创建任务并自动将任务加入到任务管理队列中。

请求参数

Authorization
在 Header 添加参数
Authorization
,其值为在 Bearer 之后拼接 Token
示例:
Authorization: Bearer ********************
Body 参数multipart/form-data
spec
string 
必需
gpuName:执行任务需要的GPU名称,即主机市场的GPU卡名称,如NVIDIA GeForce RTX 4090
示例值:
{"gpuName": "NVIDIA A16"}
envs
string 
可选
注入到容器的环境变量,环境变量之间用分号分隔
示例值:
model_code=3;env=hello
from_image_id
number 
可选
镜像ID,由矩池云提供;任务启动后,将自动在实例上拉取该镜像。注:环境和镜像id二选一填写,至少填写1项
示例值:
633839
from_snapshot_id
number 
可选
环境ID,我的环境列表中的环境编号;任务启动后,将自动在实例上拉取并配置此环境;注:必须和接口调用方同一账号;环境和镜像id二选一填写,至少填写1项
cmd
string 
可选

实例启动时执行的 bash 命令,若指定了该项,则会覆盖镜像中指定的入口命令,这里输入的值 会被以 bash -c "" 的形式执行,入口命令如果执行完毕则实例自动释放

示例值:
tail -f /dev/null
remark
string 
可选
实例和任务的备注名称
示例值:
job & instance's name
domain
string 
可选
过滤机器:网盘机器(带网盘);无网盘机器(不带网盘)
domain=all 或者不带domain:不做过滤
domain=offical :过滤出网盘机器
domain=others :过滤出无网盘机器
示例值:
all
agent_domain
integer 
必需
宿主机所属区域id,任务只能访问所在区域的网盘
1区ID:0(默认区域);
2区ID:2;
3区ID:3;
亚太区的ID需要由矩池云提供
示例值:
0
ports
string 
可选
支持用户访问容器任意端口,如需访问容器端口,则需提供如下字段,该字段为 json 字符串,整体是一个数组形式,每一项是一个对象,指定了要导出的容器端口,访问协议,如果未指定该参数或指定为空数组([])则不导出任何容器端口。
SSH: 1,HTTP: 2,VNC: 3,RDP: 4
示例值:
[{"port": 22, "protocol":1}, {"port": 8888, "protocol":2}, {"port":8895, "protocol":2}]

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://paas.matpool.com/v1/job' \
--form 'spec="{\"gpuName\": \"NVIDIA A16\"}"' \
--form 'envs="model_code=3;env=hello"' \
--form 'from_image_id="633839"' \
--form 'from_snapshot_id=""' \
--form 'cmd="tail -f /dev/null"' \
--form 'remark="job & instance'\''s name"' \
--form 'domain="all"' \
--form 'agent_domain="0"' \
--form 'ports="[{\"port\": 22, \"protocol\":1}, {\"port\": 8888, \"protocol\":2}, {\"port\":8895, \"protocol\":2}]"'

返回响应

🟢200成功
application/json
请求成功后,后台会自动创建一个job
Body
code
integer 
错误码
必需
msg
string 
错误消息
必需
job
object 
任务信息
必需
id
integer 
任务ID
必需
可在 PaaS API 中使用
ctx
object 
必需
state
object 
必需
status
integer 
任务状态
必需
6:排队中
app
object 
任务信息
必需
res
object 
必需
createTime
object 
必需
vols
null 
必需
queueLen
integer 
必需
nets
null 
必需
displayID
string 
任务ID
必需
展示在任务列表界面的 ID,用于界面上的任务索
autoRelease
boolean 
必需
releaseTime
null 
必需
updateTime
null 
必需
desc
string 
必需
示例
{
  "code": 0,
  "msg": "",
  "job": {
    "id": 421112,
    "ctx": {
      "ownerId": 724,
      "nodeId": -1,
      "clientID": 10001,
      "nodeDisplayID": "",
      "class": "",
      "aotuRelease": false,
      "releaseTime": null,
      "nodeDomain": 0
    },
    "state": {
      "status": 6,
      "log": []
    },
    "status": 6,
    "app": {
      "name": "",
      "ver": "",
      "envs": "model_code=3;env=hello",
      "format": 2,
      "files": null,
      "cmd": "tail -f /dev/null",
      "hostname": "",
      "creds": "",
      "ports": [
        {
          "port": 8989,
          "protocol": 1,
          "extraData": null
        },
        {
          "port": 8888,
          "protocol": 2,
          "extraData": null
        },
        {
          "port": 8895,
          "protocol": 2,
          "extraData": null
        }
      ],
      "urls": null,
      "fromSnapshotId": 0,
      "SSHAuths": null,
      "netConfig": null,
      "remark": "job & instance's name",
      "fromImageId": 634203
    },
    "res": {
      "cpus": 0,
      "gpus": 0,
      "diskGB": 0,
      "gpuName": "NVIDIA A16",
      "domain": "all",
      "agentDomain": 0
    },
    "createTime": {
      "seconds": 1744017355
    },
    "vols": null,
    "queueLen": 0,
    "nets": null,
    "displayID": "PBy8mz",
    "autoRelease": false,
    "releaseTime": null,
    "updateTime": null,
    "desc": ""
  }
}
上一页
PaaS API
下一页
查询单个任务详情
Built with