【发布时间】:2021-08-30 17:52:05
【问题描述】:
我有两个 lambda(lambda1 和 lambda2),它们在一个步进函数映射迭代器中编排。因此,我有一个事件列表 E = [e1, e2, ..., e10],它充当此状态机映射迭代器的输入。这很好用,lambda1 以 e1 作为输入调用,并将其输出传递给 lambda2。这一切都按预期工作,并通过并行工作流程同时处理所有事件。
但是,我想在 lambda1 和 lambda2 之间添加某种逻辑,确保在成功处理所有并行事件之前不会调用 lambda2。事件 E = [e1, e2, ..., e10] 在完成和 lambda2 执行非幂等操作所需的时间上可能会有所不同。由于这个事实,我想避免运行任何 lambda2,直到 lambda1 成功处理所有事件 E。但是一旦它们被成功处理,我想用 lambda2 来处理 lambda1 的输出。
这种 lambda 编排是否过于复杂而无法在不涉及其他资源(例如 SNS/SQS 或 dynamodb 中的状态处理)的情况下创建(仅举几例)?
提前致谢。
【问题讨论】:
标签: amazon-web-services aws-lambda aws-step-functions