0

这是我的用例:

我有一个schedulerlamdba 和一个executorlambda。在schedulerlambda 中,我收到一个(time, message)元组列表,表明time我想executor用 event 调用 lambda message

这是我尝试过的

  1. schedulerlambda 中,首先清除 lambda 中的所有触发器executor。然后为每个(time, message)元组创建一个 EventBridge 计划事件。这有几个缺点...
    • 从 lambda 中删除所有触发器非常困难,因为 Lambda API 不允许您这样做(我相信我必须通过带有适当标记的 EventBridge API 来完成)
    • 每天添加和删除约 100 个触发器似乎不经济,也不是事件桥的预期用例
  2. 运行专用 EC2 实例来调用 lambda 函数
    • 我很便宜,我不想为大约 99.9% 的时间都处于空闲状态的实例付费。
    • 不是无服务器的

是否有无服务器方式以非周期性方式触发 lambda?

4

1 回答 1

0

有点偏离,但是您可以使用带有 ttl 的 dynamodb 吗?调度程序可以简单地将消息写入表,并将 ttl 列格式化为在您添加到元组时过期。

您可以将执行程序 lambda 订阅到 DynamoDb 事件,并且只响应已删除的事件,如果您使用New and old images,您可以从旧图像中检索消息(否则我相信在删除项目时它是空的)。

于 2020-09-27T22:55:50.217 回答