【发布时间】:2020-02-27 20:27:12
【问题描述】:
是否有办法阻止 DynamoDB 流在每次 DynamoDB 更改时触发 lambda?
已设置 DynamoDB 流以触发 lambda 函数。 lambda 位于阶跃函数的末尾,并且 DynamoDB 表在整个阶跃函数的几个地方进行了更新。但这些不是 lambda 从流中需要的更新。因此,它在 lambda 需要调用之前过早地触发了 lambda,并导致 lambda 在 step 函数的整个持续时间内触发多次。这会导致各种问题。
对 DynamoDB 表的一个非常具体的更改是触发 lambda 所需的内容。这种变化不是来自 step 函数,而是来自通过 GraphQL 的 UI。 lambda 需要能够在 step 函数结束时以及 UI 上发生更改时运行。
基本上,应该在两种情况下运行 lambda:1) 在 step 函数结束时,以及 2) 在 UI 中更新 DynamoDB 表时,绕过 step 函数。
如果不是所需的 DynamoDB 更改,我正在编写停止 lambda 执行的代码,但这似乎不正确......如果不需要它,不希望它不断调用。在 step 函数的生命周期中,DynamoDB 表在达到 lambda 之前可能会发生多次变化。
这些数字并不准确,但假设 step 函数将连续运行 10 次,然后它将更新 DynamoDB 3 次。这是 lambda 将被调用的 30 次,在 step 函数按预期触发 lambda 之前。有没有办法阻止这些 lambda 调用?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-dynamodb amazon-dynamodb-streams