Dynamodb 表流触发现有记录的 lambda

问题描述 投票:0回答:2

我是 Dynamodb 和 Dynamodb 表流的初学者。我已经创建了 AWS Lambda 并启用了带有触发器的 DynamoDB 流,该触发器为每个添加/更新/删除记录调用我的 lambda。现在我想对所有现有记录执行初始同步操作。我该怎么做?

  1. 有没有办法让表中的所有现有记录都被“重新处理”并添加到流中(这样它们就可以被我的 lambda 处理)?
  2. 我必须编写自定义脚本吗?
amazon-web-services amazon-dynamodb
2个回答
3
投票

据我所知,如果不编写一些自定义脚本,就无法做到这一点。

例如,您可以编写一个脚本,从表中读取当前的每个项目,然后将其写回,覆盖自身并将新条目放入流中,然后由现有的 Lambda 处理。

另一个选择是不要尝试以任何方式对表中的现有项目使用流。将 steam 和 Lambda 保留原样,以供将来所有写入表的操作使用,并编写一个脚本来遍历所有现有项目并相应地处理它们。


-1
投票

对于此用例:

有没有办法让表中的所有现有记录都被“重新处理”并添加到流中(这样它们就可以被我的 lambda 处理)?

我认为,通过创建另一个 Lambda 并将起始位置设置为

TRIM_HORIZON
,您将能够再次从流中获取所有记录。

https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping

© www.soinside.com 2019 - 2024. All rights reserved.