簡體   English   中英

AWS CloudWatch 中的當地時間

[英]Local time in AWS CloudWatch

可以在 AWS CloudWatch 中以本地時間設置計划 cron 時間嗎?

使用 CET/CEST 而不是 GMT?

例如,我想在當地時間 13:00 設置 cron 時間,而不計算時區差異(冬季時間 1 小時,夏季時間 2 小時)

Cloudwatch事件僅使用UTC時間。 要實現您想要的目標,可以使用另一個lambda來不斷更新cloudwatch觸發器。 看一下這篇文章, 是一個很好的例子。

這可以使用 EventBridge Scheduler來實現。 在下面的示例中,我計划在周一至周五早上 6 點和早上 8 點執行 lambda。

// Lambda
const func = new NodejsFunction(this, 'func-id', {
  runtime: Runtime.NODEJS_18_X
});
// Role
const role = new Role(this, 'role-id', {
  managedPolicies: [{ managedPolicyArn: 'arn:aws:iam::aws:policy/service-role/AWSLambdaRole' }],
  assumedBy: new ServicePrincipal('scheduler.amazonaws.com')
});
// EventBridge Schedule
new CfnSchedule(this, 'schedule-id', {
  flexibleTimeWindow: {
    mode: 'OFF',
  },
  scheduleExpression: 'cron(0 6,8 ? * MON-FRI *)',
  scheduleExpressionTimezone: 'Europe/Amsterdam',
  target: {
    arn: func.functionArn,
    roleArn: role.roleArn,
  },
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM