gpt4 book ai didi

amazon-web-services - AWS DynamoDB 流 : Can I keep records for longer than 24 hours?

转载 作者:行者123 更新时间:2023-12-05 02:02:22 24 4
gpt4 key购买 nike

我有一个表的 dynamoDB 流和 lambda 触发器。 lambda 触发器基本上将 dynamoDB 表同步到 DocumentDB。

如果 DocumentDB 停机超过 24 小时怎么办?如何将 dynamoDB 中发生的所有事件(放置、删除、更新)放回到流中,以便 lambda 触发器可以访问记录并将数据同步到 DocumentDB。

我看到 dynamoDB 流将记录最多保留 24 小时。

最佳答案

默认情况下,它不可能与最大保留时间为 7 天的常规 Kinesis 不同,DynamoDB 背后的 Kinesis 最大保留时间为 24 小时,消息将在超过最大重试次数后被丢弃,并在 24 小时后被删除。

所以,我们需要建立一个异常处理流程,就是这样一种方法

  • 创建一个具有更高 MessageRetentionPeriod(最长 14 天)的 SQS 队列,并设置 RedrivePolicy maxReceiveCount 重试次数。
  • 在 Lambda 上设置 Destination on Failure 到 SQS。
  • 可以稍微修改同一个 Lambda 以从 Kinesis 或 SQS 读取,或者可以使用不同的 Lambda 从 SQS 读取。

当无法写入 DocumentDb 时,从 Lambda 返回错误。这会将记录发送回 Kinesis/SQS。这样我们最多可以离开 14 天。我们也可以将 SQS 上的 DLQ 添加到另一个 SQS,它可以在 14 天后将剩余的消息发送到 DLQ,目的地为持久存储。

关于amazon-web-services - AWS DynamoDB 流 : Can I keep records for longer than 24 hours?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65802802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com