创建计算实例¶
在当前工作区创建一个计算实例。
POST https://moi.matrixorigin.cn/newmoi/compute-resources
调用前准备¶
先列出计算规格,取得可用的 spec_id;需要指定镜像时,再列出 Worker 镜像。准备有目标工作区访问权限的个人访问令牌和目标工作区 ID。
请求体¶
curl -X POST "https://moi.matrixorigin.cn/newmoi/compute-resources" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d '{
"name": "data-processing",
"spec_id": "'"$SPEC_ID"'",
"min_replicas": 0,
"max_replicas": 1,
"worker_images": [
{
"worker_type": "go-worker",
"image_id": "$GO_WORKER_IMAGE_ID",
"platform": "linux/amd64"
},
{
"worker_type": "python-worker",
"image_id": "$PYTHON_WORKER_IMAGE_ID",
"platform": "linux/amd64"
},
{
"worker_type": "java-worker",
"image_id": "$JAVA_WORKER_IMAGE_ID",
"platform": "linux/amd64"
},
{
"worker_type": "custom-tool-worker",
"image_id": "$CUSTOM_TOOL_WORKER_IMAGE_ID",
"platform": "linux/amd64"
}
]
}'
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
string |
是 |
计算实例名称。 |
|
string |
是 |
计算规格 ID。 |
|
string |
否 |
兼容性提示;实例类型以规格为准。 |
|
string |
否 |
用途说明。 |
|
integer |
否 |
兼容输入;实际容量由 |
|
integer |
否 |
兼容输入;实际容量由 |
|
integer |
否 |
兼容输入;实际容量由 |
|
integer |
否 |
Serverless 实例仅接受 |
|
integer |
否 |
副本上限,必须大于 |
|
integer |
否 |
自动暂停等待时间。 |
|
string |
否 |
兼容的 Go Worker 镜像 ID。 |
|
string |
否 |
兼容的 Python Worker 镜像 ID。 |
|
string |
否 |
兼容的运行平台。 |
|
array of object |
是 |
Worker 镜像选择,必须覆盖镜像列表中当前所有活跃的 |
字段路径中的 [] 表示数组中的每一项。例如,worker_images[].worker_type 表示 worker_images 数组中每一项的 worker_type 字段。
worker_images 中的 worker_type、image_id 和 platform 应来自镜像列表。每次创建都要重新读取镜像列表,并为其中每个活跃 Worker 类型提交一项;不能只提交其中一项或依赖服务端自动补全。
下面表格展开请求示例中 worker_images 数组的每一项;每一行是该数组项的一个字段。
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
string |
是 |
Worker 类型,取自镜像列表的 |
|
string |
是 |
镜像 ID,取自镜像列表的 |
|
string |
是 |
镜像运行平台,取自镜像列表的 |
|
string |
否 |
兼容别名;传入时应与 |
成功响应¶
{
"code": "OK",
"msg": "OK",
"data": {
"id": "resource-123",
"name": "data-processing",
"spec_id": "task-standard-small",
"status": "IDLE",
"status_message": "",
"min_replicas": 0,
"max_replicas": 1,
"current_replicas": 0
}
}
字段 |
类型 |
说明 |
|---|---|---|
|
string |
成功时为 |
|
string |
成功时为 |
|
object |
响应数据。 |
下面表格展开响应示例中 data 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
新建计算实例的 ID。 |
|
string |
所属工作区 ID。 |
|
string |
计算实例名称。 |
|
string |
实例说明;有值时返回。 |
|
string |
使用的计算规格 ID。 |
|
string |
实例类型。 |
|
integer |
CPU 配置值。 |
|
integer |
以内存 GiB 表示的配置值。 |
|
integer |
GPU 配置值。 |
|
integer |
以毫核表示的 CPU 配置值。 |
|
integer |
以内存 MiB 表示的配置值。 |
|
integer |
GPU 数量。 |
|
integer |
单个 GPU 的显存 MiB。 |
|
integer |
GPU 核心数。 |
|
integer |
Serverless 实例固定为 |
|
integer |
最大副本数。 |
|
integer |
目标副本数。 |
|
integer |
当前副本数。 |
|
string |
Go Worker 镜像 ID;有值时返回。 |
|
string |
Python Worker 镜像 ID;有值时返回。 |
|
array of object |
Worker 镜像选择;有值时返回。 |
|
string |
实例运行平台;有值时返回。 |
|
integer |
自动暂停等待时间。 |
|
boolean |
是否为工作区默认计算实例。 |
|
string |
当前生命周期状态。 |
|
string |
状态补充信息;有值时返回。 |
|
string |
服务端提供的缩放原因;有值时返回。 |
|
string |
最近一次激活时间;有值时返回。 |
|
string |
最近一次活跃时间;有值时返回。 |
|
string |
创建者标识;有值时返回。 |
|
string |
创建时间;有值时返回。 |
|
string |
最后更新时间;有值时返回。 |
下面表格展开响应示例中 data.worker_images 数组的每一项;每一行是该数组项的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
Worker 类型。 |
|
string |
镜像 ID。 |
|
string |
运行平台。 |
错误响应¶
{
"code": "CREATE_FAILED",
"msg": "请求参数无效",
"data": null,
"error": {
"reason": "COMPUTE_RESOURCE_VALIDATION_FAILED",
"domain": "moi-core.compute_resource",
"metadata": {
"field": "worker_images",
"reason": "MISSING_REQUIRED_KIND"
}
}
}
字段 |
类型 |
说明 |
|---|---|---|
|
string |
错误代码。 |
|
string |
错误说明。 |
|
null |
错误时为空。 |
|
object |
仅在 Catalog 校验失败时返回。 |
下面表格展开响应示例中 error 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
校验失败原因。 |
|
string |
校验所属域。 |
|
object |
校验元数据;除下列字段外,服务端还可能返回其他字符串键值。 |
下面表格展开响应示例中 error.metadata 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
未通过校验的字段。 |
|
string |
该字段未通过校验的原因。 |
后续操作¶
查询计算实例详情,直到状态满足任务要求。