定時任務是一種預設任務,您可以通過調用API CreateScheduledTask建立一個定時任務,在指定時間執行指定伸縮規則,實現計算資源的自動擴張或收縮,來滿足業務需求的同時又能控製成本。
介面說明
- 由於伸縮組正在發生伸縮活動或者伸縮組停用等原因,導致定時任務觸發執行伸縮規則失敗後,在
LaunchExpirationTime內,定時任務會自動重試觸發,否則放棄本次定時任務的觸發。 - 如果多個定時任務在相近的時間內觸發執行同一個伸縮組的伸縮規則,則觸發的伸縮活動詳情如下:
- 已設定期望執行個體數的伸縮組:多個定時任務觸發的伸縮活動屬於並行伸縮活動。例如,相近時間內,執行多個定時任務後,伸縮組可同時觸發多個並行伸縮活動。
- 未設定期望執行個體數的伸縮組:最早觸發的定時任務會先執行伸縮活動。由於同一個伸縮組同一時刻內只能有一個伸縮活動,排在後面的定時任務會在
LaunchExpirationTime內自動重試定時觸發。如果上一個伸縮活動完成之後,排在後面的定時任務還在LaunchExpirationTime內重試,則執行該定時任務的伸縮規則並觸發相應的伸縮活動。
- 定時任務支援以下兩種伸縮方式:
- 通過
ScheduledAction參數設定需要執行的伸縮規則。 - 通過
ScalingGroupId參數設定伸縮組內執行個體數量。
- 通過
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
請求參數
|
名稱 |
類型 |
是否必選 |
樣本值 |
描述 |
| Action | String | 是 | CreateScheduledTask | 系統規定參數。取值:CreateScheduledTask。 |
| RegionId | String | 是 | cn-qingdao | 定時任務所屬地區的ID。 |
| ScheduledTaskName | String | 否 | scheduled**** | 定時任務的名稱。長度為2~64個英文或中文字元,以數字、大小字母或中文開頭,可包含數字、底線(_)、短劃線(-)或半形句號(.)。同一帳號同一地區內唯一。 預設值為 |
| Description | String | 否 | Test scheduled task. | 定時任務的描述資訊,長度為2~200個英文或中文字元。 |
| ScheduledAction | String | 否 | ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik**** | 定時任務觸發時需要執行的伸縮規則,填寫伸縮規則的唯一識別碼。 指定該參數後,定時任務的伸縮方式為選擇已有伸縮規則。 說明 不支援同時設定 ScheduledAction和ScalingGroupId。 |
| RecurrenceEndTime | String | 否 | 2014-08-17T16:55Z | 重複執行定時任務的結束時間。 按照ISO8601標準表示,並需要使用UTC時間。格式: |
| LaunchTime | String | 否 | 2014-08-17T16:52Z | 定時任務觸發的時間點。 按照ISO8601標準表示,並需要使用UTC時間。格式:
|
| RecurrenceType | String | 否 | Daily | 重複執行定時任務的類型,取值範圍:
您需要同時指定 |
| RecurrenceValue | String | 否 | 1 | 重複執行定時任務的數值。
您需要同時指定 |
| TaskEnabled | Boolean | 否 | true | 是否啟動定時任務。
預設值:true。 |
| LaunchExpirationTime | Integer | 否 | 600 | 定時任務觸發操作失敗後,在此時間內重試。單位為秒,取值範圍:0~1800。 預設值:600。 |
| MinValue | Integer | 否 | 0 | 定時任務的伸縮方式為設定伸縮組內執行個體數量時,指定伸縮組內執行個體的最小數量。 |
| MaxValue | Integer | 否 | 10 | 定時任務的伸縮方式為設定伸縮組內執行個體數量時,指定伸縮組內執行個體的最大數量。 |
| DesiredCapacity | Integer | 否 | 10 | 定時任務的伸縮方式為設定伸縮組內執行個體數量時,指定伸縮組內執行個體的期望執行個體數。 說明 伸縮組必須支援設定期望執行個體數,即在建立該伸縮組時指定了 DesiredCapacity。 |
| ScalingGroupId | String | 否 | asg-bp18p2yfxow2dloq**** | 定時任務觸發時需要修改執行個體數量的伸縮組,填寫伸縮組ID。 指定該參數後,定時任務的伸縮方式為設定伸縮組內執行個體數量,您需要為 說明 不支援同時設定 ScheduledAction和ScalingGroupId。 |
返回資料
名稱 |
類型 |
樣本值 |
描述 |
| ScheduledTaskId | String | edRtShc57WGXdt8TlPbr**** | 定時任務的ID,由系統產生,全域唯一。 |
| RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | 請求ID。 |
樣本
請求樣本
http(s)://ess.aliyuncs.com/?Action=CreateScheduledTask
&RegionId=cn-qingdao
&ScheduledTaskName=scheduled****
&Description=Test scheduled task.
&ScheduledAction=ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****
&RecurrenceEndTime=2014-08-17T16:55Z
&LaunchTime=2014-08-17T16:52Z
&RecurrenceType=Daily
&RecurrenceValue=1
&TaskEnabled=true
&LaunchExpirationTime=600
&MinValue=0
&MaxValue=10
&DesiredCapacity=10
&ScalingGroupId=asg-bp18p2yfxow2dloq****
&公用請求參數
正常返回樣本
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateScheduledTaskResponse>
<ScheduledTaskId>edRtShc57WGXdt8TlPbr****</ScheduledTaskId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</CreateScheduledTaskResponse>
JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"ScheduledTaskId" : "edRtShc57WGXdt8TlPbr****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
HttpCode |
錯誤碼 |
錯誤資訊 |
描述 |
404 |
InvalidRegionId.NotFound |
The specified region does not exist. |
指定的地區不存在。 |
400 |
InvalidScheduledTaskName.Duplicate |
The specified value of parameter ScheduledTaskName is duplicated. |
定時任務名已存在。 |
400 |
QuotaExceeded.ScheduledTask |
Scheduled task quota exceeded. |
定時任務使用個數達到上限。 |
400 |
ScheduledAction.RegionMismatch |
The specified scheduled task and the specified scheduled action are not in the same Region. |
指定的ScheduledAction與定時任務所在的地區不匹配。 |