創(chuàng)建一個(gè) BatchCompute 集群。
請求語法
請求行:
POST /clusters?IdempotentToken=vU7xaM9YCqqAFHAVvRVynoMBZSgD0MPn HTTP/1.1
請求方法為 POST ,請求資源為 clusters ,參數(shù)說明如下:
屬性名稱 | 類型 | 是否必須 | 描述 |
---|---|---|---|
IdempotentToken | string | 否 | 用于保證請求的冪等性。由用戶生成該參數(shù)值,要保證在不同請求間唯一,最大不值過64個(gè)字符,字符包括了字母、數(shù)字以及下劃線。 |
請求數(shù)據(jù):
請求數(shù)據(jù)以 JSON 格式描述:
{
"Name": "test-cluster",
"Description": "demo",
"InstanceType": "ecs.sn1ne.large",
"ImageId": "img-ubuntu",
"Bootstrap": "",
"UserData": {
"key2": "value2",
"key1": "value1"
},
"EnvVars": {
"key3": "value3",
"key4": "value4"
},
"Notification": {
"Topic": {
"Name": "test-topic",
"Endpoint": "http://[UserId].mns.[Region].aliyuncs.com/",
"Events": [
"OnClusterDeleted",
"OnInstanceCreated",
"OnInstanceActive"
]
}
},
"Groups": {
"group1": {
"DesiredVMCount": 3,
"InstanceType": "",
"ResourceType": "OnDemand",
"SpotStrategy": "",
"SpotPriceLimit": 0.0
}
},
"Configs": {
"Disks": {
"SystemDisk": {
"Type": "cloud_efficiency",
"Size": 50
},
"DataDisk": {
"Type": "cloud_efficiency",
"Size": 500,
"MountPoint": "/home/my-data-disk"
}
},
"Mounts": {
"Locale": "GBK",
"Lock": false,
"CacheSupport": true,
"CacheBlockSize": 262144,
"CacheTotalSize": 536870912,
"OSS": {
"AccessKeyId": "[OSS Access Key Id]",
"AccessKeySecret": "[OSS Access Key Id Secret]",
"SecurityToken": ""
},
"Entries": [
{
"Source": "nas://26a174a62f-sfi98.cn-shenzhen.nas.aliyuncs.com:/",
"Destination": "/home/admin/mydir1/",
"WriteSupport": true
},
{
"Source": "oss://my-test-bk/",
"Destination": "/home/admin/mydir3/",
"WriteSupport": false
}
]
},
"Networks": {
"VPC": {
"VpcId": "[Your vpc id]",
"CidrBlock": "192.168.0.0/16"
},
"Classic": {
"AllowIpAddress": [],
"AllowIpAddressEgress": [],
"AllowSecurityGroup": [],
"AllowSecurityGroupEgress": []
}
}
}
}
屬性說明:
屬性名稱 | 類型 | 是否必須 | 描述 |
---|---|---|---|
Name | string | 是 | 集群名稱。長度為[2, 128]個(gè)英文或中文字符。必須以大小字母或中文開頭,不能以 http:// 和https:// 開頭。可以包含數(shù)字、半角冒號(:)、下劃線(_)或者連字符(-)。 |
Description | string | 否 | 集群的描述信息。長度為[2, 256]個(gè)英文或中文字符。必須以大小字母或中文開頭,不能以 http:// 和 https:// 開頭??梢园瑪?shù)字、半角冒號(:)、下劃線(_)或者連字符(-) |
InstanceType | string | 是 | 構(gòu)建集群的實(shí)例類型。目前支持的ECS實(shí)例類型參閱 實(shí)例類型。 |
ImageId | string | 是 | 鏡像標(biāo)識符。您可以使用官方定義的或自定義的鏡像。可以通過 獲取鏡像列表 獲取您可使用的所有鏡像標(biāo)識符。 |
DependencyIsvService | string | 否 | 執(zhí)行程序依賴的阿里云提供的ISV服務(wù),目前提供的ISV服務(wù)有:“GTX”,默認(rèn)為空不依賴任何ISV服務(wù)。 |
Bootstrap | string | 否 | 實(shí)例啟動(dòng)運(yùn)行的命令。您可以指定Bootstrap來初始化您的環(huán)境。Bootstrap 與 JOB 指定的程序運(yùn)行命令有區(qū)別,JOB指定的程序是用來運(yùn)行您的作業(yè)。 |
UserData | map<string, string> | 否 | 用戶自定義的信息,您可以定義 map 的 key 和 value 值。用戶程序使用 ECS 的 user server 獲取。 |
EnvVars | map<string, string> | 否 | 虛擬機(jī)的環(huán)境變量,您可以定義 map 的 key 和 value 值。用戶程序從環(huán)境變量中獲取。 |
Groups | map<string, object> | 是 | 集群的實(shí)例組群信息。key 是您自定義的 group name, value 是 GroupDesc 類型。 一個(gè)集群可以包含多個(gè)實(shí)例組,實(shí)例組有數(shù)量限制,參閱 用戶限額 。 |
Notification | object | 否 | 用戶指定消息通知配置。 |
Configs | object | 否 | 集群的一些配置信息,比如實(shí)例的磁盤配置、網(wǎng)絡(luò)和掛載路徑。 |
返回信息
成功
狀態(tài)行:
HTTP/1.1 201 Created
響應(yīng)數(shù)據(jù):
{
"Id":"cls-6ki3sg6sqlno7nt8fu0007"
}
屬性說明:
屬性名稱 | 類型 | 是否必須 | 描述 |
---|---|---|---|
Id | string | 是 | 作業(yè)標(biāo)識符。每個(gè)集群都有唯一的集群標(biāo)識符,你需要通過集群標(biāo)識符來管理您的集群。 |
錯(cuò)誤
錯(cuò)誤響應(yīng)格式請參閱 返回結(jié)果。
創(chuàng)建集群特有的錯(cuò)誤碼:
狀態(tài)碼 | 錯(cuò)誤碼 | 錯(cuò)誤信息 | 語義 |
---|---|---|---|
400 | IdempotentTokenMismatch | Specified idempotent token mismatch. | 說明該token已經(jīng)被使用過,并且該請求參數(shù)與之前的請求不一樣。 |
400 | InvalidJsonFormat | The request body has an invalid json format. | 請求body是一個(gè)非法的JSON格式。 |
400 | InvalidHttpBody | Specified parameter HttpBody is not valid. Its type must be object. | http body必須是一個(gè)object。 |
400 | MissingName | Name is mandatory for this action. | 缺少Name參數(shù)。 |
400 | MissingConfigs.Networks.VPC.OppositeRouterId | Configs.Networks.VPC.OppositeRouterId is mandatory for this action. | 缺少Configs.Networks.VPC.OppositeRouterId參數(shù)。 |
400 | MissingConfigs.Networks.VPC.OppositeAccessPointId | Configs.Networks.VPC.OppositeAccessPointId is mandatory for this action. | 缺少Configs.Networks.VPC.OppositeAccessPointId參數(shù)。 |
400 | MissingConfigs.Networks.VPC.OppositeRegionId | Configs.Networks.VPC.OppositeRegionId is mandatory for this action. | 缺少Configs.Networks.VPC.OppositeRegionId參數(shù)。 |
400 | InvalidName | Specified parameter Name is not valid. Its type must be string. | Name必須是一個(gè)string。 |
400 | InvalidName | Specified parameter Name is not valid. Its length must be in [1, 64]. | Name的長度必須在1與64之間。 |
400 | InvalidName | Specified parameter Name is not valid. It must only contain characters within [a-zA-Z0-9_-], and must not start with [0-9]. | Name中只能包括字母數(shù)字和_-,但不能以數(shù)字開頭。 |
400 | InvalidDescription | Specified parameter Description is not valid. Its type must be string. | Description必須是一個(gè)string。 |
400 | InvalidDescription | Specified parameter Description is not valid. Its length must be in [0, 1024]. | Description的長度必須在0與1024之間。 |
400 | MissingImageId | ImageId is mandatory for this action. | 缺少ImageId參數(shù)。 |
400 | InvalidImageId | Specified parameter ImageId is not valid. Its type must be string. | ImageId必須是一個(gè)string。 |
400 | InvalidImageId | Specified parameter ImageId is not valid. Its length must be in [1, 256]. | ImageId的長度必須在1與256之間。 |
400 | InvalidUserData | Specified parameter UserData is not valid. Its type must be object. | UserData必須是一個(gè)object。 |
400 | InvalidUserData | Specified parameter UserData is not valid. Its size must be in [0, 64]. | UserData的大小必須在0與64之間。 |
400 | InvalidUserData.{key} | Specified parameter UserData.{key} is not valid. Its length must be in [1, 128]. | UserData.{key}的大小必須在1與128之間。 |
400 | InvalidUserData.{key}.value | Specified parameter UserData.{key}.value is not valid. Its type must be string. | UserData.{key}對應(yīng)的Value必須是一個(gè)string。 |
400 | InvalidUserData.{key}.value | Specified parameter UserData.{key}.value is not valid. Its length must be in [0, 1024]. | UserData.{key}對應(yīng)的value的長度必須在0與1024之間。 |
400 | InvalidGroups | Specified parameter Groups is not valid. Its type must be object. | Groups必須是一個(gè)object。 |
400 | InvalidGroups.{key} | Specified parameter Groups.{key} is not valid. Its type must be object. | Groups.{key}必須是一個(gè)object。 |
400 | InvalidGroups.{key} | Specified parameter Groups.{key} is not valid. Its size must be in [1, 64]. | Groups.{key}的大小必須在1與64之間。 |
400 | MissingDesiredVMCount | DesiredVMCount is mandatory for this action. | 缺少DesiredVMCount參數(shù)。 |
400 | InvalidDesiredVMCount | Specified parameter DesiredVMCount is not valid. Its type must be integer. | DesiredVMCount必須是一個(gè)integer。 |
400 | InvalidDesiredVMCount | Specified parameter DesiredVMCount is not valid. It must be in [1, 65536]. | DesiredVMCount的大小必須在1與65536之間。 |
400 | InvalidCidrBlock | Specified parameter CidrBlock is not valid. Configs.Networks.VPC.CidrBlock is not valid. | 無效的CidrBlock。 |
403 | QuotaExhausted.MaxClusterCount | The MaxClusterCount ({value}) quota is exhausted. | Cluster數(shù)量不能超過{value}。 |
403 | QuotaExhausted.MaxClusterGroupCount | The MaxClusterGroupCount ({value}) quota is exhausted. | 一個(gè)Cluster中的Group的數(shù)量不能超過{value}。 |
403 | QuotaExhausted.MaxClusterGroupDesiredVMCount | The MaxClusterGroupDesiredVMCount ({value}) quota is exhausted. | 一個(gè)Cluster中的一個(gè)Group的DesiredVMCount不能超過{value}。 |
403 | QuotaExhausted.Configs.Networks.VPC.OppositeRouterType | The Configs.Networks.VPC.OppositeRouterType ({value}) is forbidden. | Configs.Networks.VPC.OppositeRouterType不允許取值{value}。 |
400 | MissingInstanceType | InstanceType is mandatory for this action. | 缺少InstanceType參數(shù)。 |
400 | InvalidInstanceType | Specified parameter InstanceType is not valid. | InstanceType參數(shù)取值不合法。 |
400 | MissingResourceType | ResourceType is mandatory for this action. | 缺少ResourceType參數(shù)。 |
400 | InvalidResourceType | Specified parameter ResourceType is not valid. | ResourceType參數(shù)取值不合法。 |
400 | Invalid{Parameter} | Specified parameter {Parameter} is not valid. | {Parameter}參數(shù)不合法。 |