是否可以使用AWS步骤函数轮询DynamoDB流以降低Lambda的复杂性



我计划使用DynamoDB流在一个非常复杂的单个表上执行一系列任务。该任务包括发送通知、更新数据库中的其他条目以及使用AWS OpenSearch对一些条目进行索引等操作。我已经看到,处理所有这些的Lambda函数最终会非常复杂,而且很难维护。这也让人觉得非常浪费,因为这个lambda中包含的大多数操作只适用于非常特定的流事件,而大多数其他操作都不需要。

我的想法是,我可以使用StateMachine将这些任务拆分为单独的Lambda,然后只在流中的某个项目需要它们时运行它们。

因此,我很好奇是否有任何简单的方法可以像使用Lambda一样,使用Step函数轮询DynamoDB流。

(PS。我知道这可能被认为是一个意见问题,但我也很好奇任何人对这个解决方案的看法。这是个好主意还是坏主意?(

lambda对于特定的处理必须是唯一的,这就是为什么最佳实践是将lambda拆分为许多子组件

例如,您可以使用以下架构:

DynamoDB流-->Lambda-->阶跃函数(parralele处理(

或者使用多个带有SNS扇出的Lambda,如:

DynamoDB流-->Lambda-->SNS->多个子(lambdas(

最新更新