如何更改 AWS Cloudwatch Event Cron 表达式中的时区?

Posted

技术标签:

【中文标题】如何更改 AWS Cloudwatch Event Cron 表达式中的时区?【英文标题】:How to change the Timezone in AWS Cloudwatch Event Cron expression? 【发布时间】:2021-06-12 11:21:50 【问题描述】:

需求:我们有 4 个客户,分布在 4 个不同的区域,我们需要在 Cloud Watch 事件中设置一个 Cron 表达式,该表达式需要在每天的特定时间触发 lambda。

目前Cloudwatch是基于GMT触发事件,如何更改时区?

【问题讨论】:

【参考方案1】:

您必须自己计算不同区域的 GMT 时间,然后在 EventBridge (CloudWatch) 中设置它们。

例如,如果您想在纽约市 (EDT) 当地时间凌晨 5 点触发事件,则需要将其转换为 GMT 时间。此刻将是上午 9 点。然后在 EventBridge (CloudWatch) 事件中设置该值。

【讨论】:

【参考方案2】:

如果您使用的是 serverless.com,那么您可以使用这个插件来为您进行转换。

https://www.npmjs.com/package/serverless-local-schedule

events:
  - schedule:
      rate: cron(0 8-20 * * ? *)
      timezone: Australia/Sydney

plugins:
  - serverless-local-schedule

【讨论】:

以上是关于如何更改 AWS Cloudwatch Event Cron 表达式中的时区?的主要内容,如果未能解决你的问题,请参考以下文章

Aws Lambda 收集 CloudWatch 事件

如何永久更改我的aws cloudwatch仪表板的时间范围?

AWS Grafana/CloudWatch - 如何按 accountId 显示账单

如何将定制的ec2 监控报表放到 aws cloudwatch 上

无法通过node.js从lambda获取Amazon CloudWatch日志

配置 CloudWatch Events 以使用 Terraform 将输入发送到 Lambda 函数