创建App

更新时间:
复制 MD 格式

CreateApp

描述

创建一个 app 资源

请求语法

请求行:

  1. POST /apps?IdempotentToken=vU7xaM9YCqqAFHAVvRVynoMBZSgD0MPn HTTP/1.1

请求方法 POST,请求资源为 apps,请求参数为:

属性名称 类型 是否必须 描述
IdempotentToken string 否 用于保证请求的幂等性。由用户生成该参数值,要保证在不同请求间唯一,最大不值过64个字符,字符包括了字母、数字以及下划线。

请求数据:

请求数据以 JSON 格式描述:

  1. {
  2. "Name": "test-copy",
  3. "Description": "Copy input file to output file",
  4. "CommandLine": "cp -rf ${inputFile} ${outputFile}",
  5. "Daemonize": false,
  6. "EnvVars": {
  7. "key1": "value1",
  8. "key2": "value2"
  9. },
  10. "InputParameters": {
  11. "inputFile": {
  12. "Description": "Input param",
  13. "Type": "String",
  14. "Default": "",
  15. "LocalPath": "/tmp/infile/"
  16. }
  17. },
  18. "OutputParameters": {
  19. "outputFile": {
  20. "Type": "String",
  21. "Description": "Output param",
  22. "LocalPath": "/tmp/outfile/"
  23. }
  24. },
  25. "VM": {
  26. "ECSImageId": "img-unbuntu"
  27. },
  28. "Docker": {
  29. "Image": "ubuntu:14.04",
  30. "RegistryOSSPath": "oss://bucket/registry"
  31. },
  32. "Config": {
  33. "ResourceType": {
  34. "Description": "Resource type",
  35. "Default": "OnDemand",
  36. "Overwritable": true
  37. },
  38. "InstanceType": {
  39. "Description": "Instance type",
  40. "Default": "ecs.sn2ne.large",
  41. "Overwritable": true
  42. },
  43. "InstanceCount": {
  44. "Description": "Instance count",
  45. "Default": 1,
  46. "Overwritable": true
  47. },
  48. "DiskType": {
  49. "Description": "Disk type",
  50. "Default": "cloud_efficiency",
  51. "Overwritable": true
  52. },
  53. "MinDiskSize": {
  54. "Description": "Min Disk size",
  55. "Default": 40,
  56. "Overwritable": true
  57. },
  58. "MinDataDiskSize": {
  59. "Default": 100,
  60. "Description": "Min data disk size",
  61. "Overwritable": true
  62. },
  63. "DataDiskType": {
  64. "Default": "cloud_efficiency",
  65. "Description": "Data disk type",
  66. "Overwritable": true
  67. },
  68. "DataDiskMountPoint": {
  69. "Default": "/home/mount/",
  70. "Description": "Data disk mount point",
  71. "Overwritable": true
  72. },
  73. "MaxRetryCount": {
  74. "Description": "Max retry count",
  75. "Default": 2,
  76. "Overwritable": true
  77. },
  78. "Timeout": {
  79. "Description": "Time out",
  80. "Default": 600000,
  81. "Overwritable": true
  82. }
  83. }
  84. }

属性说明:

参数

参数名称 类型 必选 描述
Name string 是 应用名称。允许的字符集为[a-zA-Z0-9_-],长度不能大于64,不能为空
Description string 否 应用的详细描述。长度不能大于1000。默认值:空
InputParameters map<string, object(InputParameter)> 否 该应用的输入参数列表。Map 大小不能大于50,不能小于0。对于 Key,允许的字符集为[a-zA-Z0-9_-],长度不能大于100。默认值:{}
OutputParameters map<string, object(OutputParameter)> 否 该应用的输出参数列表。Map 大小不能大于50,不能小于0。对于 Key,允许的字符集为[a-zA-Z0-9_-],长度不能大于100。默认值:{}
Docker object(Docker) 否 Docker 镜像有关配置。 Docker 和 VM 属性只能配置一个,并且必须要配置一个
VM object(VM) 否 ECS 虚拟机相关配置
CommandLine string 是 执行应用时的命令行。长度不能大于1000
EnvVars map<string, string> 否 环境变量。Map 大小不能大于50,不能小于0。对于 Key,允许的字符集为[a-zA-Z0-9_-],长度不能大于100。对于 Value,长度不能大于1000。默认值:{}
Daemonize boolean 否 应用在执行时,是否每次都要重新启动。默认值:False
Config object(Config) 否 提交作业时的运行时参数

InputParameter

参数名称 类型 必选 描述
Description string 否 参数描述。长度不能大于1000。默认值:空
Type string 否 参数类型。枚举类型,可选值为:String、Number。默认值:String
Default Any 否 参数默认值。类型必须与 Type 指定的类型相同。默认值:null
LocalPath string 否 LocalPath 不为空说明该参数是 OSS 上的一个文件或者目录。在计算分析时,系统会将该参数值指定的 OSS 文件或者目录映射为本地 LocalPath 指定的文件或者目录。仅支持使用 UTF-8 编码。如果是目录,则必须以 “/“ 结尾。长度不能大于1000。默认值:空

OutputParameter

参数名称 类型 必选 描述
Description string 否 参数描述。长度不能大于1000。默认值:空
Type string 否 参数类型。枚举类型,可选值为:String、Number。默认值:String
LocalPath string 否 LocalPath 不为空说明该参数是 OSS 上的一个文件或者目录。在计算分析时,系统会将本地 LocalPath 指定的文件或者目录映射为该参数值指定的 OSS 文件或者目录。仅支持使用 UTF-8 编码。如果是目录,则必须以 “/“ 结尾。长度不能大于1000。默认值:空

Docker

参数名称 类型 必选 描述
Image string 是 Docker 镜像。长度不能大于1000
RegistryOSSPath string 否 docker registry storage 在 OSS 上的根目录。长度不能大于1000。默认值:空

VM

参数名称 类型 必选 描述
ECSImageId string 是 ECS 镜像 Id。允许的字符集为[a-zA-Z0-9_-],长度不能大于100

Config

参数名称 类型 必选 描述
ResourceType object(ResourceType) 否 资源类型
InstanceType object(InstanceType) 否 实例类型
InstanceCount object(InstanceCount) 否 实例数量
MinDiskSize object(MinDiskSize) 否 最小系统盘大小 (GB)
DiskType object(DiskType) 否 系统盘类型
MinDataDiskSize object(MinDataDiskSize) 否 最小数据盘大小 (GB)
DataDiskType object(DataDiskType) 否 数据盘类型,需要和系统盘类型保持一致
DataDiskMountPoint object(DataDiskMountPoint) 否 数据盘挂载点
MaxRetryCount object(MaxRetryCount) 否 某个 Instance 失败后,最大重试次数
Timeout object(Timeout) 否 Instance 的运行时超时时间,单位为秒

ResourceType

参数名称 类型 必选 描述
Description string 否 给 APP 使用者的详细描述。长度不能大于1000。默认值:空
Default string 否 参数默认值。枚举类型,可选值为:OnDemand、Spot。默认值:OnDemand
Overwritable boolean 否 用户使用该 APP 提交作业时,是否可以覆盖掉默认值。默认值:True

InstanceType

参数名称 类型 必选 描述
Description string 否 给 APP 使用者的详细描述。长度不能大于1000。默认值:空
Default string 否 参数默认值。长度不能大于1000。默认值:空
Overwritable boolean 否 用户使用该 APP 提交作业时,是否可以覆盖掉默认值。默认值:True

InstanceCount

参数名称 类型 必选 描述
Description string 否 给 APP 使用者的详细描述。长度不能大于1000。默认值:空
Default number 否 参数默认值。必须为整数,不能大于1000,不能小于0。默认值:1
Overwritable boolean 否 用户使用该 APP 提交作业时,是否可以覆盖掉默认值。默认值:True

MinDiskSize

参数名称 类型 必选 描述
Description string 否 给 APP 使用者的详细描述。长度不能大于1000。默认值:空
Default number 否 参数默认值。必须为整数,不能大于500,不能小于40。默认值:40
Overwritable boolean 否 用户使用该 APP 提交作业时,是否可以覆盖掉默认值。默认值:True

DiskType

参数名称 类型 必选 描述
Description string 否 给 APP 使用者的详细描述。长度不能大于1000。默认值:空
Default string 否 参数默认值。枚举类型,可选值为:cloud、ephemeral、cloud_efficiency。默认值:cloud_efficiency
Overwritable boolean 否 用户使用该 APP 提交作业时,是否可以覆盖掉默认值。默认值:True

MinDataDiskSize

参数名称 类型 必选 描述
Description string 否 给 APP 使用者的详细描述。长度不能大于1000。默认值:空
Default string 否 参数默认值。必须为整数,不能大于32768,不能小于20。默认值:0,表示不使用数据盘
Overwritable boolean 否 用户使用该 APP 提交作业时,是否可以覆盖掉默认值。默认值:True

DataDiskType

参数名称 类型 必选 描述
Description string 否 给 APP 使用者的详细描述。长度不能大于1000。默认值:空
Default string 否 参数默认值。枚举类型,可选值为:cloud、ephemeral、cloud_efficiency,但是必须和系统盘类型 DiskType 保持一致。默认值:cloud_efficiency
Overwritable boolean 否 用户使用该 APP 提交作业时,是否可以覆盖掉默认值。默认值:True

DataDiskMountPoint

参数名称 类型 必选 描述
Description string 否 给 APP 使用者的详细描述。长度不能大于1000。默认值:空
Default string 否 参数默认值。字符串类型,指定数据盘的挂载点,长度不能大于1000。在 Windows 环境下只能指定到特定的盘符,如 “D:”,盘符字母从 A-Z,除 C 以外均可。默认值:空
Overwritable boolean 否 用户使用该 APP 提交作业时,是否可以覆盖掉默认值。默认值:True

MaxRetryCount

参数名称 类型 必选 描述
Description string 否 给 APP 使用者的详细描述。长度不能大于1000。默认值:空
Default number 否 参数默认值。必须为整数,不能大于1000,不能小于0。默认值:0
Overwritable boolean 否 用户使用该 APP 提交作业时,是否可以覆盖掉默认值。默认值:True

Timeout

参数名称 类型 必选 描述
Description string 否 给 APP 使用者的详细描述。长度不能大于1000。默认值:空
Default number 否 参数默认值。必须为整数,不能大于1000000000,不能小于0。默认值:86400
Overwritable boolean 否 用户使用该 APP 提交作业时,是否可以覆盖掉默认值。默认值:True

返回信息

成功

响应行:

  1. HTTP/1.1 201 Created

响应数据:

  1. {
  2. "Name": "test-copy"
  3. }

响应参数

参数名称 类型 描述
Name string App 标识符

错误