You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自动扩缩容调度规则能否指定时区?CDK实现Lambda预置并发定时调度场景

问题解答

可以指定时区,AWS CDK 的 Schedule.cron() 方法原生支持通过 timeZone 参数设置定时任务的时区,无需手动做UTC时间偏移转换。

你可以直接在原有代码的cron配置中增加timeZone字段即可,参数值为标准IANA时区标识符,例如中国标准时间对应Asia/Shanghai,修改后的示例代码如下:

// Define the provisioned concurrency
const target = new asg.ScalableTarget(this, 'ScalableTarget', {
  serviceNamespace: asg.ServiceNamespace.LAMBDA,
  maxCapacity: 1,
  minCapacity: 0,
  resourceId: `function:${alias.lambda.functionName}:${alias.aliasName}`,
  scalableDimension: 'lambda:function:ProvisionedConcurrency'
});

target.node.addDependency(alias);

// 北京时间每天早上8点把预置并发调整为1
target.scaleOnSchedule('ScaleUpInTheMorning', {
  schedule: asg.Schedule.cron({ 
    hour: '08', 
    minute: '00',
    timeZone: 'Asia/Shanghai' // 指定为上海时区
  }),
  minCapacity: 1,
  maxCapacity: 1
});

// 北京时间每天下午17点10分把预置并发调整为0
target.scaleOnSchedule('ScaleDownAtNight', {
  schedule: asg.Schedule.cron({ 
    hour: '17', 
    minute: '10',
    timeZone: 'Asia/Shanghai' // 指定为上海时区
  }),
  minCapacity: 0,
  maxCapacity: 0
});

注意事项

  • 时区参数必须使用IANA时区标识符,不支持UTC+8、GMT+8这类偏移量写法
  • 该参数需要CDK v2.20.0及以上版本支持,如果使用更早版本需要先升级CDK依赖
  • 部署完成后可以进入AWS控制台的Application Auto Scaling页面,找到对应定时规则核对时区配置是否生效

内容的提问来源于stack exchange,提问作者nixon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:45:03