创建应用
功能介绍
创建应用。
URI
POST /v1/{project_id}/eihealth-projects/{eihealth_project_id}/apps
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
eihealth_project_id |
是 |
String |
参数解释: 空间ID。 约束限制: 不涉及 取值范围: 仅支持字母、数字、中划线和下划线,长度为[1-128]个字符。 默认取值: 不涉及。 |
|
project_id |
是 |
String |
参数解释: 项目ID,您可以从获取项目ID中获取。 约束限制: 不涉及 取值范围: 仅支持字母、数字、中划线和下划线,长度为[1-128]个字符。 默认取值: 不涉及 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。 Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限,获取Token接口响应消息头中X-Subject-Token的值即为Token。 约束限制: 不涉及 取值范围: 长度为[1-32768]个字符。 默认取值: 不涉及 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
name |
是 |
String |
参数解释: 应用名称。 约束限制: 不涉及 取值范围: 长度为[1,56],以大小写字母开头,允许出现中划线(-)、小写字母和数字,且必须以大小写字母或数字结尾。 默认取值: 不涉及 |
|
version |
是 |
String |
参数解释: 应用版本。 约束限制: 更新应用时,应用版本不支持修改。 取值范围: 长度[1,24],以小写字母或数字或大写字母开头,允许出现中划线,必须以小写字母或数字或大写字母结尾。 默认取值: 不涉及 |
|
summary |
否 |
String |
参数解释: 应用简述。 约束限制: 不涉及 取值范围: 长度[0,128]。 默认取值: 不涉及 |
|
description |
否 |
String |
参数解释: 应用描述。 约束限制: 后续支持markdown文本。 取值范围: 长度[0,65535]。 默认取值: 不涉及 |
|
labels |
否 |
Array of strings |
参数解释: 应用标签。 约束限制: 取值范围[0,5],单个标签最大长度32字符,支持中文、字母、数字、空格、下划线和中划线,且不能以空格开头或者结尾。 取值范围: 不涉及 默认取值: 不涉及 |
|
image |
是 |
String |
参数解释: docker镜像地址。 约束限制: 不能包含中文字符。 取值范围: 取值范围[5-255]。 默认取值: 不涉及 |
|
commands |
是 |
Array of strings |
参数解释: docker启动时执行命令。 约束限制: 取值范围[1-300],单个命令长度取值范围[0-256],不能包含中文字符。 取值范围: 不涉及 默认取值: 不涉及 |
|
resources |
否 |
ResourceDto object |
参数解释: 应用申请资源。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
inputs |
否 |
Array of AppInputParameterDto objects |
参数解释: 应用的输入参数列表。 约束限制: 最多支持设置128个参数。 取值范围: 不涉及 默认取值: 不涉及 |
|
outputs |
否 |
Array of AppOutputParameterDto objects |
参数解释: 应用的输出参数列表。 约束限制: 最多支持设置128个参数。 取值范围: 不涉及 默认取值: 不涉及 |
|
node_labels |
否 |
Array of strings |
参数解释: 节点标签。 约束限制: 取值范围[0,1],单个标签最大长度63字符。 取值范围: 不涉及 默认取值: 不涉及 |
|
icon |
否 |
String |
参数解释: 图标base64编码。 约束限制: 不涉及 取值范围: 长度[0,20000],必须以"data:image/svg+xml;base64,"开头,后跟A-Za-z0-9+/=字符。 默认取值: 不涉及 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
cpu_type |
否 |
String |
参数解释: cpu架构类型。 约束限制: 不涉及 取值范围: 取值范围,支持X86|ARM。 默认取值: X86。 |
|
cpu |
否 |
String |
参数解释: cpu申请使用量。 约束限制: 不涉及 取值范围: 取值范围[0.1-128],单位C,支持一位小数。对于应用,不填默认1C;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用。 默认取值: 不涉及 |
|
memory |
否 |
String |
参数解释: 内存申请使用量。 约束限制: 不涉及 取值范围: 取值范围[0.1-3072],单位G,支持一位小数。对于应用,不填默认1G;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用。 默认取值: 不涉及 |
|
gpu_type |
否 |
String |
参数解释: gpu架构类型。 约束限制: 不涉及 取值范围: gpu架构类型,支持GPU|Snt9。对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用。 默认取值: 不涉及 |
|
gpu |
否 |
String |
参数解释: gpu申请使用量。 约束限制: 不涉及 取值范围: 取值范围[0-16],仅支持整数。对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用。 默认取值: 不涉及 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
name |
是 |
String |
参数解释: 参数名称,单个应用内唯一。 约束限制: 不涉及 取值范围: 长度为[1,32],以小写字母开头,允许出现中划线(-)、小写字母和数字,且必须以小写字母或数字结尾。 默认取值: 不涉及 |
|
description |
否 |
String |
参数解释: 参数描述。 约束限制: 不涉及 取值范围: 长度[0-255]。 默认取值: 不涉及 |
|
required |
是 |
Boolean |
参数解释: 参数是否必须。 约束限制: 不涉及 取值范围:
默认取值: false |
|
concurrent |
否 |
String |
参数解释: 参数是否开启并发。当前支持vars_iter并发类型,不填表示未开启并发。 约束限制: 不涉及 取值范围: 取值范围[0-16],仅支持vars_iter并发类型。 默认取值: 不涉及 |
|
type |
是 |
String |
参数解释: 参数类型。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
|
pattern |
否 |
String |
参数解释: 提示用户参数填写的格式。 约束限制: 不涉及 取值范围: 取值范围[0-64]。对于STRING类型,匹配字符串内容,比如后缀约束.fastq;对于ENUM类型,可以提示一定要在param_enum列表范围内取值;对于FILE类型,约束文件后缀类型;对于DIRECTORY类型,提示目录下需要包含哪些文件。 默认取值: 不涉及 |
|
values |
否 |
Array of strings |
参数解释: 参数列表取值。 约束限制: 最多支持设置128个参数,每个参数取值范围[0,2048]。 取值范围: 不涉及 默认取值: 不涉及 |
|
enum |
否 |
Array of strings |
参数解释: 枚举参数的取值列表。 约束限制: 列表最大长度20,每一项字符串最长128。参数类型为ENUM时需要填此字段。 取值范围: 不涉及 默认取值: 不涉及 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
name |
是 |
String |
参数解释: 参数名称,单个应用内唯一。 约束限制: 不涉及 取值范围: 长度为[1,32],以小写字母开头,允许出现中划线(-)、小写字母和数字,且必须以小写字母或数字结尾。 默认取值: 不涉及 |
|
description |
否 |
String |
参数解释: 参数描述。 约束限制: 不涉及 取值范围: 长度[0-255]。 默认取值: 不涉及 |
|
required |
是 |
Boolean |
参数解释: 参数是否必须。 约束限制: 不涉及 取值范围:
默认取值: false |
|
type |
是 |
String |
参数解释: 参数类型。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
|
pattern |
否 |
String |
参数解释: 提示用户参数填写的格式。 约束限制: 不涉及 取值范围: 取值范围[0-64]。对于STRING类型,匹配字符串内容,比如后缀约束.fastq;对于ENUM类型,可以提示一定要在param_enum列表范围内取值;对于FILE类型,约束文件后缀类型;对于DIRECTORY类型,提示目录下需要包含哪些文件。 默认取值: 不涉及 |
|
values |
否 |
Array of strings |
参数解释: 参数列表取值。 约束限制: 最多支持设置128个参数,每个参数取值范围[0,2048]。 取值范围: 不涉及 默认取值: 不涉及 |
|
enum |
否 |
Array of strings |
参数解释: 枚举参数的取值列表。 约束限制: 列表最大长度20,每一项字符串最长128。参数类型为ENUM时需要填此字段。 取值范围: 不涉及 默认取值: 不涉及 |
响应参数
状态码:201
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
参数解释: 应用ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求示例
创建应用,应用名称为demo-app,版本为1.0.0。
https://{endpoint}/v1/{project_id}/eihealth-projects/{eihealth_project_id}/apps
{
"name" : "demo-app",
"version" : "1.0.0",
"summary" : "summary",
"description" : "description",
"labels" : [ "labelA", "labelB" ],
"image" : "gwj-test-01/busybox:latest",
"commands" : [ "echo eihealth;" ],
"resources" : {
"cpu_type" : "X86",
"cpu" : "1C",
"memory" : "1G",
"gpu_type" : "GPU",
"gpu" : 0
},
"inputs" : [ {
"name" : "dir-parameter",
"description" : "parameter description",
"required" : true,
"concurrent" : "vars_iter",
"type" : "DIRECTORY",
"pattern" : "*.fastq",
"values" : [ "test-project:/300M_NA12878_clean_1.fastq" ]
} ],
"outputs" : [ {
"name" : "dir-parameter",
"description" : "parameter description",
"required" : true,
"type" : "DIRECTORY",
"pattern" : "*.fastq",
"values" : [ "test-project:/output-dir/" ]
} ],
"node_labels" : [ "health.node" ],
"icon" : "data:image/png;base64,xxxxx"
}
响应示例
状态码:201
CREATED
{
"id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1"
}
状态码
|
状态码 |
描述 |
|---|---|
|
201 |
CREATED |
错误码
请参见错误码。