我是 Dynamodb 和 Dynamodb 表流的初学者。我已经创建了 AWS Lambda 并启用了带有触发器的 DynamoDB 流,该触发器为每个添加/更新/删除记录调用我的 lambda。现在我想对所有现有记录执行初始同步操作。我该怎么做?
据我所知,如果不编写一些自定义脚本,就无法做到这一点。
例如,您可以编写一个脚本,从表中读取当前的每个项目,然后将其写回,覆盖自身并将新条目放入流中,然后由现有的 Lambda 处理。
另一个选择是不要尝试以任何方式对表中的现有项目使用流。将 steam 和 Lambda 保留原样,以供将来所有写入表的操作使用,并编写一个脚本来遍历所有现有项目并相应地处理它们。
对于此用例:
有没有办法让表中的所有现有记录都被“重新处理”并添加到流中(这样它们就可以被我的 lambda 处理)?
我认为,通过创建另一个 Lambda 并将起始位置设置为
TRIM_HORIZON
,您将能够再次从流中获取所有记录。
https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping