使用自定义事件参数运行排定的非周期性AWS Lambda函数

问题描述

这是我的用例:

我有一个scheduler lamdba和一个executor lambda。 在scheduler lambda中,我收到一个(time,message)元组的列表,该列表指示在time我想通过事件executor调用message lambda。 / p>

这是我尝试过的

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

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

解决方法

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

您可以为执行者lambda订阅DynamoDb事件,并且仅响应已删除的事件,如果您使用New and old images,则可以从旧映像中检索消息(否则,我相信删除项目后为空)。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...