Fai*_*med 11 cron amazon-web-services aws-lambda
我知道可用于重复运行 Lambda 的 CloudWatch 重复事件..但是有没有办法可以在特定时间触发它而不重复?
小智 13
使用云监视规则 - 可以分配单个非重复日期。
示例 cron:0 10 16 6 ? 2019 分钟 小时 日 月 dayOfWeek 年
例如,这将在格林威治标准时间 2019 年 6 月 16 日星期日 10:00:00 执行一次。
参考:https : //docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html
Ben*_*aki 11
您可以为其提供一个 cron 表达式或速率。您正在寻找的是 cron 表达式选项,它可以让您说出确切的运行时间。更多信息 - https://docs.aws.amazon.com/lambda/latest/dg/tutorial-scheduled-events-schedule-expressions.html
如果您想手动运行一次,您可以随时使用页面顶部的“测试”按钮触发它。你真的可以在这里发挥创意,例如,你甚至可以用一个 http 请求触发它,这将允许你将它集成到任何你想要的东西,超级容易(通过 http 请求调用 AWS Lambda 函数)
您还可以使用 AWS Step Functions 来实现此目的。当您想要以编程方式控制事件的执行时间时,它特别有用。也不需要轮询,因为您安排函数在特定时间点执行。
下图显示了它的工作原理:
对于那些使用无服务器框架的人来说,步骤函数定义的示例如下所示:
stepFunctions:
validate: true
stateMachines:
scheduler:
name: exampleScheduler
definition:
Comment: "Description of Step Function"
StartAt: WaitTillScheduled
States:
WaitTillScheduled:
Type: Wait
TimestampPath: "$.dueDate"
Next: ActionEvent
ActionEvent:
Type: Task
Resource:
Fn::GetAtt: [schedulerExecution, Arn]
End: true
Run Code Online (Sandbox Code Playgroud)
被dueDate
传递给步骤函数,并且schedulerExecution
是在某个时间点执行的 Lambda 函数。
很大程度上归功于 Ryan Dsilva。他写了一篇关于此的文章,详细解释了一切:https://levelup.gitconnected.com/trigger-events-at-a-specific-timestamp-2527f9336128
归档时间: |
|
查看次数: |
18203 次 |
最近记录: |