注册自定义镜像 - RegisterV2TenantImage
功能介绍
注册自定义镜像。用户通过该接口将外部镜像仓库中的镜像注册到租户中,以便后续使用。与添加自定义镜像版本接口配合完成镜像版本的添加。此接口为同步接口。
调用方法
请参见如何调用API。
URI
POST /v2/images
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释:用户Token,通过调用获取IAM用户Token接口获取。 约束限制:不涉及。 取值范围:只能由英文字母、数字及特殊字符组成,长度不超过65534个字符。Token格式由IAM服务定义,具体字符集参见IAM服务相关文档。 默认取值:不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| image_url | 是 | String | 参数解释:自定义镜像的URL地址,由镜像仓库地址、镜像命名空间、镜像名称和镜像版本组成。 约束限制:不涉及。 取值范围:由大小写英文字母、数字、小数点(.)、斜杠(/)、冒号(:)、下划线(_)和连字符(-)组成的容器镜像地址。长度为1~2000个字符。 默认取值:不涉及。 |
| category | 是 | String | 参数解释:自定义镜像的分类。 约束限制:不涉及。 取值范围: 默认取值:不涉及。 |
| architectures | 否 | Array of strings | 参数解释:镜像支持的架构列表,取值包括:x86_64(x86架构)、aarch64(ARM架构),未传入该参数时默认为x86_64。 约束限制:不涉及。 |
| type | 是 | String | 参数解释:版本类型。 约束限制:不涉及。 取值范围: 默认取值:不涉及。 |
| container_softwares | 否 | Array of ContainerSoftware objects | 参数解释:自定义镜像包含的软件列表,每个元素为一个ContainerSoftware对象,包含软件名称和版本信息。 约束限制:软件列表最小个数为0,最大个数为100。 |
| description | 否 | String | 参数解释:自定义镜像的描述。 约束限制:不涉及。 取值范围:不允许输入感叹号、小于号、大于号、等号、与号、双引号、单引号、艾特符、井号、百分号、分号、左括号、右括号、竖线、星号、反斜杠。长度为0~2000个字符。 默认取值:不涉及。 |
| base_image_id | 否 | String | 参数解释:基础镜像ID,可通过查询自定义镜像列表获取镜像ID。 约束限制:Spark类型镜像必填。 取值范围:支持英文字母、数字及中划线,长度0~64个字符。 默认取值:不涉及。 |
| base_image_version_id | 否 | String | 参数解释:基础镜像版本ID,可通过查询自定义镜像版本列表获取镜像版本ID。 约束限制:当镜像分类为Spark类型时此字段必填,其余情况可选。 取值范围:支持英文字母、数字及中划线,长度0~64个字符。 默认取值:不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| image_id | String | 参数解释:镜像ID。 取值范围:长度为32~36的英文字符、数字和中划线的组合。 |
| category | String | 参数解释:镜像分类。 取值范围: |
| image_registry | String | 参数解释:镜像域名。 取值范围:支持英文字母、数字、小数点及连字符,长度0~255个字符。 |
| image_namespace | String | 参数解释:镜像命名空间。 取值范围:由英文字母、数字、中划线和下划线组成,长度0~64个字符。 |
| image_name | String | 参数解释:镜像名。 取值范围:由中文字符、英文字母、数字、中划线和下划线组成,长度0~128个字符。 |
| visibility | String | 参数解释:可见性。 取值范围: |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
状态码:401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
状态码:403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
状态码:404
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
状态码:408
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
请求示例
注册自定义镜像。描述为“Ray custom image”,镜像分类为“RAY_BASIC”。
POST /v2/images
{
"image_url" : "xxx.cn-north-4.example.com/test-namespace/test-image:v1",
"category" : "RAY_BASIC",
"type" : "BETA",
"architectures" : [ "x86_64" ],
"container_softwares" : [ {
"name" : "jdk",
"version" : "21"
} ],
"description" : "Ray custom image"
} 响应示例
状态码:200
{
"image_id" : "90a827a1-ca72-4f3a-9e2d-774f945f22ac",
"category" : "RAY_BASIC",
"image_registry" : "xxx.cn-north-4.example.com",
"image_namespace" : "test-namespace",
"image_name" : "test-image",
"visibility" : "PRIVATE"
} 状态码:400
{
"error_code" : "AIDataLake.00010151",
"error_msg" : "Parameter value is invalid.",
"solution_msg" : "Please input valid parameter value."
} 状态码:401
{
"error_code" : "APIGW.0301",
"error_msg" : "Incorrect IAM authentication information: decrypt token fail.",
"solution_msg" : "Check whether the IAM authentication information is correct."
} 状态码:403
{
"error_code" : "AIDataLake.00010150",
"error_msg" : "The operation is not allowed.",
"solution_msg" : "Check whether the operation is allowed in the current status."
} 状态码:404
{
"error_code" : "AIDataLake.00010009",
"error_msg" : "No resources found.",
"solution_msg" : "Ensure the requested resource exists and the parameters are correct."
} 状态码:408
{
"error_code" : "common.00000408",
"error_msg" : "timeout exception occurred",
"solution_msg" : "Try again later. If the problem persists, contact technical support."
} 状态码:500
{
"error_code" : "AIDataLake.00011001",
"error_msg" : "Internal error.",
"solution_msg" : "Contact technical support or try again later."
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 请求成功。 |
| 400 | 请求参数错误。 |
| 401 | 未授权。 |
| 403 | 禁止访问。 |
| 404 | 资源未找到。 |
| 408 | 请求超时。 |
| 500 | 内部服务器错误。 |