如何解决使用自定义事件参数运行排定的非周期性AWS Lambda函数
这是我的用例:
我有一个scheduler
lamdba和一个executor
lambda。
在scheduler
lambda中,我收到一个(time,message)
元组的列表,该列表指示在time
我想通过事件executor
调用message
lambda。 / p>
这是我尝试过的
- 在
scheduler
lambda中,首先清除executor
lambda中的所有触发器。然后为每个(time,message)
元组创建一个EventBridge计划的事件。这有一些缺点...- 从lambda中删除所有触发器非常困难,因为Lambda API不允许您这样做(我相信我必须通过带有适当标记的EventBridge API来做到)
- 每天添加和删除约100个触发器似乎不经济,也不是事件桥的预期用例
- 运行专用的EC2实例以调用lambda函数
- 我很便宜,我不想为一个空闲时间约为99.9%的实例付费。
- 不是无服务器的
是否有一种无服务器方式以非周期性方式触发lambda?
解决方法
有点偏离,但是您可以将dynamodb与ttl一起使用吗?调度程序可以简单地将消息写到表中,并将ttl列的格式设置为在添加到元组时过期。
您可以为执行者lambda订阅DynamoDb事件,并且仅响应已删除的事件,如果您使用New and old images
,则可以从旧映像中检索消息(否则,我相信删除项目后为空)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。