如何在 serverless.yml 中配置 eventbridge 规则(使用无服务器框架)以在特定时间调用 lambda
Posted
技术标签:
【中文标题】如何在 serverless.yml 中配置 eventbridge 规则(使用无服务器框架)以在特定时间调用 lambda【英文标题】:How to configure eventbridge rule in serverless.yml (using serverless framework ) to invoke lambda on specific time 【发布时间】:2021-12-28 23:47:06 【问题描述】:我们已经使用 AWS eventbridge 运行了 python lambda 函数,该函数是使用控制台手动配置的,以在每天晚上 9 点触发 lambda。目前,我们还有针对 eventbridge 的规则 arn。
计划:
因此,我们正在将所有内容迁移到无服务器框架,以自动化整个 lambda 部署并使用 serverless.yml 配置 eventbridge 以在晚上 9 点调用 lambda。
谁能告诉我该怎么做?
示例代码:
functions:
myFunction:
handler: index.handler
events:
- eventBridge:
--------
--------
--------
【问题讨论】:
您可以阅读文档serverless.com/framework/docs/providers/aws/events/schedule @gizemsever 感谢您的建议。好吧,我正在寻找的是如何在我的 serverless.yml 中使用相同的 eventbridge 规则 ARN,该规则是通过控制台手动配置来调用 lambda 的?无论如何你可以建议plz。 您将需要完全替换已部署的现有资源集,因为无服务器框架将尝试使用新的 CloudFormation 堆栈从头开始部署,并且任何具有相同名称的现有资源都将导致错误 【参考方案1】:在 serverless.com 上有描述这一点的文档。您所做的只是将 cron 计划添加到 EventBridge 事件中,就好像它是计划事件一样。例如:
functions:
myFunction:
handler: index.handler
events:
- eventBridge:
schedule: cron(0 12 * * ? *)
input:
key1: value1
您可以在此处找到 EventBridge 的文档:https://www.serverless.com/framework/docs/providers/aws/events/event-bridge
对于 Schedule 事件,这里有一个 cron 计划示例:https://www.serverless.com/framework/docs/providers/aws/events/schedule
【讨论】:
感谢 Gareth 的建议。会尝试相同的。以上是关于如何在 serverless.yml 中配置 eventbridge 规则(使用无服务器框架)以在特定时间调用 lambda的主要内容,如果未能解决你的问题,请参考以下文章
我们如何使用 serverless.yml 创建 AWS S3 存储桶并向其中添加文件?
如何使用 yaml 格式文件在 serverless.yml 中编写嵌套 IF,同时将其用于云形成?
cloudFormation 模板验证错误:如何拆分 serverless.yml 文件
在 CloudFormation 或 serverless.yml 中提供 OriginAccessIdentity 参考