CreateScheduledTask

定时任务是一种预设任务,您可以通过调用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个英文或中文字符,以数字、大小字母或中文开头,可包含数字、下划线(_)、短划线(-)或半角句号(.)。同一账号同一地域内唯一。

默认值为ScheduledTaskId的值。

Description String Test scheduled task.

定时任务的描述信息,长度为2~200个英文或中文字符。

ScheduledAction String ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****

定时任务触发时需要执行的伸缩规则,填写伸缩规则的唯一标识符。

指定该参数后,定时任务的伸缩方式为选择已有伸缩规则。

说明 不支持同时设置ScheduledActionScalingGroupId
RecurrenceEndTime String 2014-08-17T16:55Z

重复执行定时任务的结束时间。

按照ISO8601标准表示,并需要使用UTC时间。格式:YYYY-MM-DDThh:mmZ。不能填写自创建当天起365日后的时间。

LaunchTime String 2014-08-17T16:52Z

定时任务触发的时间点。

按照ISO8601标准表示,并需要使用UTC时间。格式:YYYY-MM-DDThh:mmZ。不能填写自创建当天起90日后的时间。

  • 如果指定了RecurrenceType,则此属性指定的时间点,默认为循环执行的时间点。
  • 如果未指定RecurrenceType,则按指定的日期和时间执行一次。
RecurrenceType String Daily

重复执行定时任务的类型,取值范围:

  • Daily:每多少天重复执行一次定时任务。
  • Weekly:每周指定几天重复执行一次定时任务。
  • Monthly:每月内指定几天重复执行一次定时任务。
  • Cron:按照指定的Cron表达式执行定时任务。

您需要同时指定RecurrenceTypeRecurrenceValue

RecurrenceValue String 1

重复执行定时任务的数值。

  • RecurrenceType取值为Daily时,只能填一个值,取值范围:1~31。
  • RecurrenceType取值为Weekly时,可以填入多个值,填多个值时使用半角逗号(,)分隔。例如,周日、周一、周二、周三、周四、周五、周六的值依次为:0,1,2,3,4,5,6
  • RecurrenceType取值为Monthly时,格式为A-B。A、B的取值范围为1~31,并且B必须大于等于A。
  • RecurrenceType取值为Cron时,表示UTC时间,支持分、时、日、月、星期的五个域表达式,支持通配符半角逗号(,)、半角问号(?)、短划线(-)、星号(*)、井号(#)、正斜线(/)、L和W。

您需要同时指定RecurrenceTypeRecurrenceValue

TaskEnabled Boolean true

是否启动定时任务。

  • true:启动任务。
  • false:停止任务。

默认值:true。

LaunchExpirationTime Integer 600

定时任务触发操作失败后,在此时间内重试。单位为秒,取值范围:0~1800。

默认值:600。

MinValue Integer 0

定时任务的伸缩方式为设置伸缩组内实例数量时,指定伸缩组内实例的最小数量。

MaxValue Integer 10

定时任务的伸缩方式为设置伸缩组内实例数量时,指定伸缩组内实例的最大数量。

DesiredCapacity Integer 10

定时任务的伸缩方式为设置伸缩组内实例数量时,指定伸缩组内实例的期望实例数。

说明 伸缩组必须支持设置期望实例数,即在创建该伸缩组时指定了DesiredCapacity
ScalingGroupId String asg-bp18p2yfxow2dloq****

定时任务触发时需要修改实例数量的伸缩组,填写伸缩组ID。

指定该参数后,定时任务的伸缩方式为设置伸缩组内实例数量,您需要为MinValueMaxValueDesiredCapacity中至少一个参数指定数量。

说明 不支持同时设置ScheduledActionScalingGroupId

返回数据

名称

类型

示例值

描述

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与定时任务所在的地域不匹配。