AWS Lambda作为cron调度程序

时间:2017-03-20 14:38:15

标签: amazon-web-services cron aws-lambda

我不确定这个问题是否与SF相关。

基本上在我们的项目中,我们有几个需要在指定时间或定期执行的功能。我们为这些任务开发了API。我们可以选择在独立VM上安装cron作业并激活这些API。但我希望有更好的方法。

如果AWS(可能是Lambda)提供这样的功能(像cron调度程序一样工作),那将是很棒的。对任何指针或任何替代方案都会很感激。

问候

1 个答案:

答案 0 :(得分:0)

您可以根据提供的Cron /频率定义Cloudwatch Rules来生成事件。这些预定的事件可以用于trigger your lambda funtion


您还可以在存储桶中添加API网关和代理lambda来自动执行这些过程,并使这些调度无服务器,如下所示:

  1. 定义您的lambda函数(将其称为ACTOR_LAMBDA),该函数需要一些输入函数参数并执行诸如存储在数据库中/发布报告/发送电子邮件(或任何用例)之类的操作。
  2. 定义一个代理lambda函数(我们称其为PROXY_LAMBDA),该函数根据作为输入传递的cron / frequency之类的参数创建一个cloudwatch规则。由PROXY_LAMBDA lambda创建的cloudwatch规则将触发ACTOR_LAMBDA。
  3. 创建一个POST API using AWS API gateway to invoke the PROXY_LAMBDA。该API基本上会传递PROXY_LAMBDA的输入参数(例如cron / frequency / rule名称/ rule输入/ lambda触发器等),以创建cloudwatch规则。

Result :您有一个API,可用于生成基于Cron或基于频率的触发器。然后您的ACTOR_LAMBDA将根据您定义的cron /频率自动触发。

为简单起见,您还可以添加一个调用API网关的UI层。或者,您可以使用POSTMANthis AWS doc中提供的任何方法直接调用您的API。