【问题标题】:DynamoDB Global Table replication stream event issuesDynamoDB 全局表复制流事件问题
【发布时间】:2021-07-05 17:33:22
【问题描述】:

我们遇到的情况是,如果我们有一个全局复制的表,但也使用表流来处理插入/更新事件的记录。

例如。我们在 us-east-1 和 us-west-2 之间复制了一个表,其中一个 lambda 连接到其区域中的每个表流。 当在 us-east-1 表中执行更新时,将使用更新的记录调用 us-west-2 lambda。问题是我们不需要处理复制到 us-west-2 的记录,我们使用的是 dynamodb 全局表的 2019 版本,因此没有有助于进行此验证的元数据或其他字段。

有人知道如何缓解这个问题吗?

【问题讨论】:

  • 您可以考虑向数据中添加一个字段,该字段是创建记录的区域。然后,您可以在流处理程序中查看它,并且仅在该区域与运行该函数的区域匹配时才对其进行处理。
  • @Jason Wadsworth 感谢您的回复,我了解您建议的方法,要实施此方法,需要在所有创建/更新发电机的地方进行更改,您知道另一种策略吗那不需要改变记录的插入逻辑?
  • 据我所知不是。流记录只是表中内容的反映。它不知道它是如何到达那里的。

标签: amazon-web-services amazon-dynamodb replication


【解决方案1】:

已接受的答案:我通常推荐的方法是添加您自己的属性,该属性记录最近进行更改的区域。然后,处理流记录的 Lambda 函数会忽略区域标识不是本地的任何记录。

【讨论】:

  • 有道理,更喜欢v2017,其中有一个内置字段(y,2019 有其他好处)。
  • @LeOn-HanLi 你在说什么内置字段?
  • @MariaInesParnisari,我的意思是aws:rep:updateregion/updatetime 等字段......它们用于解决复制和其他问题。而 2019 年将不会有它们,因为它们是在内部处理/解决的,而不依赖于这些字段。
  • 嗯,好的,在这里找到文档:docs.aws.amazon.com/amazondynamodb/latest/developerguide/…
猜你喜欢
  • 2019-06-26
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 2018-06-07
  • 2023-03-10
  • 2022-11-24
相关资源
最近更新 更多