How to use object mapping in AWS DMS for AWS Kinesis?

Using the "object-mapping" rule has no effect

Published Jun 25, 2024
Hi there,
We're planning to configure CDC for some of our tables in PostgreSQL: RDS -> DMS (ongoing replication) -> Kinesis.
Everything works fine, we see messages about data changes in the Kinesis stream, but we want to change the data format.
Now we receive data in the following format:
For our purposes, we need to change the format so that we only get the fields from the "data" key as a result:
Here's the JSON we use for the Table mappings in the DMS task:
It looks like this is exactly what we need, but we see data in the stream in the same format.
We completely recreated the stream, endpoint, and migration task. The result remained the same.
Can someone please explain where our error is?
Does the "object-mapping" rule type even work? This type is not available in the console when setting up Table mappings but the "exclude-columns" part works and we don't see the "moves" field in the Kinesis stream.
If this doesn't work, what other options can we use here: a lambda function, AWS Glue, or something else?
Thanks,
Dmitry
 

Comments