如何使用AWS服务(而不是EC2)运行延迟或计划的作业



我想运行一个延迟的作业/函数——最好是在AWS lambda上运行。我在SQS或SNS上看到可以选择将消息延迟15分钟,但我希望能够将其延迟1周。完成这样的事情最好的方法是什么?

我想使用像SQS或SNS这样的服务。目前,我正在考虑使用非AWS服务,但这似乎会很快变得昂贵。

计划的时间和任务将是任意的,一次性的。工作将是不规则的,而不是常规的。理想情况下,我想要一个端点,我可以用时间戳和正文来命中它,并在给定的时间戳处理作业。

AWS Lambda现在能够按照类似chron的时间表设置和运行函数:

https://aws.amazon.com/blogs/aws/aws-lambda-update-python-vpc-increased-function-duration-scheduling-and-more/

对于一次性执行,唯一的选择似乎是使用步骤函数和等待状态延迟状态机继续一个指定的时间";。由于延迟不必硬编码,而是可以来自输入,所以它听起来正是您所需要的。

我自己也在寻找类似的东西。我发现了这个,它似乎是你想要的,但我根本没有玩过,所以我不能告诉你怎么做。

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchEvents.html#putEvents-属性

最新更新