CreateApp
描述
建立一個 app 資源
請求文法
請求行:
POST /apps?IdempotentToken=vU7xaM9YCqqAFHAVvRVynoMBZSgD0MPn HTTP/1.1要求方法 POST,請求資源為 apps,請求參數為:
| 屬性名稱 | 類型 | 是否必須 | 描述 |
|---|---|---|---|
| IdempotentToken | string | 否 | 用於保證請求的等冪性。由使用者產生該參數值,要保證在不同請求間唯一,最大不值過64個字元,字元包括了字母、數字以及底線。 |
請求資料:
請求資料以 JSON 格式描述:
{
"Name": "test-copy",
"Description": "Copy input file to output file",
"CommandLine": "cp -rf ${inputFile} ${outputFile}",
"Daemonize": false,
"EnvVars": {
"key1": "value1",
"key2": "value2"
},
"InputParameters": {
"inputFile": {
"Description": "Input param",
"Type": "String",
"Default": "",
"LocalPath": "/tmp/infile/"
}
},
"OutputParameters": {
"outputFile": {
"Type": "String",
"Description": "Output param",
"LocalPath": "/tmp/outfile/"
}
},
"VM": {
"ECSImageId": "img-unbuntu"
},
"Docker": {
"Image": "ubuntu:14.04",
"RegistryOSSPath": "oss://bucket/registry"
},
"Config": {
"ResourceType": {
"Description": "Resource type",
"Default": "OnDemand",
"Overwritable": true
},
"InstanceType": {
"Description": "Instance type",
"Default": "ecs.sn2ne.large",
"Overwritable": true
},
"InstanceCount": {
"Description": "Instance count",
"Default": 1,
"Overwritable": true
},
"DiskType": {
"Description": "Disk type",
"Default": "cloud_efficiency",
"Overwritable": true
},
"MinDiskSize": {
"Description": "Min Disk size",
"Default": 40,
"Overwritable": true
},
"MinDataDiskSize": {
"Default": 100,
"Description": "Min data disk size",
"Overwritable": true
},
"DataDiskType": {
"Default": "cloud_efficiency",
"Description": "Data disk type",
"Overwritable": true
},
"DataDiskMountPoint": {
"Default": "/home/mount/",
"Description": "Data disk mount point",
"Overwritable": true
},
"MaxRetryCount": {
"Description": "Max retry count",
"Default": 2,
"Overwritable": true
},
"Timeout": {
"Description": "Time out",
"Default": 600000,
"Overwritable": true
}
}
}
屬性說明:
參數
| 參數名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
| 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 |
返回資訊
成功
響應行:
HTTP/1.1 201 Created響應資料:
{
"Name": "test-copy"
}
響應參數
| 參數名稱 | 類型 | 描述 |
|---|---|---|
| Name | string | App 標識符 |
錯誤