创建App

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 标识符

错误