首页 文章

仅在指定的未来时间调用AWS Lambda函数一次

提问于
浏览
7

我希望能够设置一个时间来调用AWS Lambda函数,然后再调用该函数 . 例如,我希望我的Lambda函数在2017年12月19日晚上9点运行 . 我不想重复它,我不希望它现在调用,只是在19日晚上9点 .

我知道CloudWatch提供了计划事件,而我当时认为当输入安排此提醒的时间时,会创建一个CloudWatch计划事件,以便在此后的一段时间内启动(因此,如果您在晚上8:22安排它)在晚上9点运行,它将是38分钟),然后它在晚上9点调用Lambda函数,然后删除CloudWatch预定事件 . 我的问题是,当创建CloudWatch Scheduled Event时,它会立即执行,然后以指定的时间间隔执行 .

任何其他想法将不胜感激,因为我想不出另一种解决方案 . 提前致谢!

2 回答

  • -1

    您可以使用以下语法计划lambda事件:

    cron(Minutes Hours Day-of-month Month Day-of-week Year)

    Note :所有字段都是必填字段,时区仅限UTC

    有关详细信息,请参阅AWS Documentation .

    谢谢

  • 10

    通过Events调用lambda函数是异步调用选项 . 通过使用CloudWatchEvent来触发Lambda函数,我们可以使用cron作业,但是我们仍然面临问题,因为对于相同的cron调度,Lambda函数会多次触发.PFB链接:https://cloudonaut.io/your-lambda-function-might-execute-twice-deal-with-it/

    但这需要在您的帐户中实现Dynamo DB,然后使您的Lambda函数具有幂等性 .

相关问题