定时任务是一种预设任务,您可以通过调用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与定时任务所在的地域不匹配。 |