调用Django App中编写的AWS Lambda函数

时间:2019-02-25 11:08:46

标签: django amazon-web-services cron django-rest-framework aws-lambda

我在django应用程序中写了一些cronjobs,我想使用AWS Lambda服务计划这些作业。有人可以推荐一种好的方法来完成此工作吗?

1 个答案:

答案 0 :(得分:1)

我将根据问题的主题而不是正文来回答这个问题,因为我不确定操作程序对“我想使用AWS Lambda安排这些作业”的含义。

如果您只想基于cronjob触发Lambda函数,则可以使用CloudWatch Events来实现。您可以指定正则cron表达式或AWS提供的某些内置表达式,例如rate(1 min)将每分钟运行一次函数。您可以在docs上查看如何通过CloudWatch Events触发Lambda函数。请参阅cron/rate,以查看所有可用选项。

CloudWatch Events只是触发Lambda功能的众多选项之一。您的函数可以响应所有AWS事件,包括S3,SQS,SNS,API网关等。您可以查看事件here的完整列表。只需选择一个满足您需求的产品,便可以了。

在OP的更新后进行编辑 : 是的,您正在寻找的是CloudWatch Events。一旦有了Lambda可以就地轮询数据库,就可以在CloudWatchEvents中创建一个规则,并由它触发Lambda。请查看以下图片以获取指导。

转到CloudWatch,单击“事件”,然后选择“计划”作为事件源 enter image description here(确保设置自己的Cron表达式或选择预定义的速率值) 在右侧,相应地选择Lambda函数。

完成后单击“配置详细信息”,为其命名,选中“启用”框,最后单击创建。

回到Lambda函数,您应该看到它现在已由CloudWatch Events触发(左侧的列) enter image description here

您的lambda现在已正确配置,并且每天执行一次。