计划在AWS上执行任务?

时间:2019-05-02 00:27:14

标签: amazon-web-services scheduled-tasks serverless aws-serverless

作为在AWS上运行的应用程序的一部分,我需要根据每个日期和时间的明确指定(不一定是周期性的)来安排某些简单任务(例如,可以是Lambda函数)的执行。作为应用程序逻辑的一部分,它有时会添加/修改一些待处理的任务(例如,通过调用某些API)。

是否有一种简单的方法可以使用AWS服务(或可通过API访问的第三方云服务),而无需为此维护自己的微服务?

更新:CloudWatch支持cron风格的事件,但它似乎不是为临时事件而设计的(例如,规则数量默认限制为100个)。

1 个答案:

答案 0 :(得分:1)

是的,您可以这样做。 Lambda支持将CloudWatch Events作为触发器;您可以在CloudWatch中创建Cron事件/规则,这将按照定义的时间表触发您的Lambda。如果仅在特定日期需要调用  和时间,您可以使用“ Cron表达式”定义特定的日期/时间。

转到Cloudwatch,然后在左侧垂直菜单中单击“规则”,然后在右侧窗格中单击“创建规则”:

Create CloudWatch rule

下一步,单击时间表并定义您的时间表,然后单击“添加目标”,您将可以选择Lambda函数作为目标。

Create CloudWatch rule

要了解的一个重要陷阱是,cron限制为每分钟一次;如果您需要比预定时间表更快地调用,则需要使用其他解决方案。

您可以了解有关CloudWatch规则和设置时间表here的更多信息。