当前位置: 首页 > 知识库问答 >
问题:

AWS DynamoDB流:我可以保留记录超过24小时吗?

顾宣
2023-03-14

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

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

我看到dynamoDB流最多保持24小时的记录。

共有1个答案

岑熙云
2023-03-14

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

因此,我们需要构建一个异常处理过程,一个这样的方法

  • 创建具有更高消息保留期(最多14天)的SQS队列,并在重试次数上设置RedrivePolicy maxReceiveCount
  • 在Lambda到SQS上设置故障时的目标
  • 可以稍微修改相同的Lambda以从动觉学或SQS中读取,或者可以使用不同的Lambda从SQS中读取

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

 类似资料:
  • 本地的聊天记录会永久保存,云端的聊天记录仅保存一年

  • 是否有一个选项可以删除Kafka在一个主题中超过一个小时的旧消息。在一个主题中只需要持续一个小时的消息。Kafka监制会在每一分钟接受留言成为一个话题。我需要消耗当前主题中最近一个小时的数据。1.是否有一个选项可以删除主题中超过一个小时消息,需要在主题中保留少于一个小时的数据2。是否有一个选项从一个主题读取最后一个小时的数据,主题有一天的全部数据

  • 问题内容: 当settings.DEBUG = True时,Django将SQL操作记录到内部缓冲区(无论是否记录到文件)中。因为我有一个长时间运行的过程,需要执行许多数据库操作,所以这会使我的程序的开发模式实例的内存消耗迅速增加。 我想在保留设置的同时禁用内部SQL日志记录机制.DEBUG已为我的开发打开:这可能吗? Django版本1.3.0。 问题答案: 当settings.DEBUG为Tr

  • 我的域管理器是Office 365。 我希望它保留所有当前记录,但由于我的网站位于另一台服务器中,我已将“A”记录指向我的网站服务器IP。 我的问题是,我的网站DNS管理器是否会覆盖Office 365中的域管理器记录(Office 365管理域)?或者我的域管理器将忽略网站DNS管理器中设置的记录? 我这样问是因为我想保留Office 365中的所有电子邮件记录,并且只将我的域指向网站托管服务器

  • 问题内容: 我想创建一个名为“ new”的函数和一个名为“ case”的类。 我可以用PHP做到吗? 问题答案: 不,你 不能。感谢上帝。

  • 有很多关于堆大小的帖子和站点,但是没有一个提到在调用JVM时如何找出我可以保留的最大可能堆大小。 任务是用最大可用堆大小xmx=max动态启动我的jvm(这里不需要讨论这个任务的对象!)。 我们可以考虑读取当前可用或空闲的内存,并将该大小用于xms和XMX。但这不起作用。 调用Java程序时: Java-XMS1536M-XMX1536M myApp 导致: 选择您选中的应用程序大约需要的堆。并在