【问题标题】:Can I configure AWS RDS to only stream INSERT operations to AWS DMS?我能否将 AWS RDS 配置为仅将 INSERT 操作流式传输到 AWS DMS?
【发布时间】:2022-10-07 12:12:42
【问题描述】:

我的要求是仅将我数据库中特定表上的 INSERT 流式传输到 Kinesis 数据流。

我已经在我的 AWS 环境中配置了这个管道:

RDS Postgres 13 -> DMS (Database Migration Service) -> KDS (Kinesis Data Stream)

此设置工作正常,但它处理我的源表上的所有更改,甚至更新和删除。

我尝试过的:

  • 在 Postgres 逻辑解码插件中寻找配置选项。 DMS 使用test_decoding PG 插件,它不接受按操作类型包含/排除数据更改的选项。
  • 查看 DMS 选择和过滤规则。仍然没有看到任何可能有帮助的东西。

当然,我可以在我的 Kinesis 消费者中简单地忽略源自非 INSERT 操作的记录,但这看起来不像是一种经济高效的实现方式。

有什么方法可以使用这些 AWS 服务(RDS -> DMS -> Kinesis)来满足我的要求?

    标签: postgresql amazon-rds aws-dms logical-replication amazon-dms


    【解决方案1】:

    那么DMS没有这个能力。

    如果您只想在这种情况下将 INSERT 发送到 Kinesis,您可以在 RDS 的每个 INSERT 上使用 lambda 函数。 Lambda 函数可以配置为 INSERT 的触发器。

    您只能为 INSERT 调用 lambda 并直接写入 Kinesis。

    成本方面,这也会更少。 在 DMS 中,即使不使用,您也要为复制实例付费。

    详细参考Stream changes from Amazon RDS for PostgreSQL using Amazon Kinesis Data Streams and AWS Lambda

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 2018-11-19
      • 2020-06-21
      • 2021-12-19
      • 1970-01-01
      相关资源
      最近更新 更多