以下の構成で Amazon Aurora MySQL 上のテーブルのデータを Amazon S3 にエクスポートします。
Aurora MySQL 上のテーブルは以下のような形です。
use kajihirodb;
select * from dms_source_table;
id | title | keyword |
---|---|---|
1 | 風の谷のナウシカ | ナウシカ |
2 | となりのトトロ | トトロ |
3 | 天空の城ラピュタ | パズー |
4 | ハウルの歩く城 | ハウル |
5 | 千と千尋の神隠し | 千尋 |
ここから DMS を利用してテーブルデータを取得し、Kinesis Data Streams に流します。
Kinesis Data Streams から Kinesis Data Firehose に送り、S3 に出力します。
Kinesis 関連の設定はすべてデフォルト値です。
以下、S3 に出力した結果です。
Kinesis Data Firehose で指定した S3 バケット上に yyyy / mm / dd で区切られ、その中にファイルが出力されています。
ファイルの中身は以下でした。
- KDS-S3-KdgnY-1-2024-02-20-09-42-55-76b4ea85-b321-497a-b3b1-0e3d79b8d705
{ "metadata": { "timestamp": "2024-02-20T09:42:55.692040Z", "record-type": "control", "operation": "create-table", "partition-key-type": "task-id", "schema-name": "", "table-name": "awsdms_apply_exceptions" } }
- KDS-S3-KdgnY-1-2024-02-20-09-42-56-7f7b4097-2208-4d6f-93f9-c8e5b8fc1b4a
{ "metadata": { "timestamp": "2024-02-20T09:42:56.340335Z", "record-type": "control", "operation": "drop-table", "partition-key-type": "task-id", "schema-name": "kajihirodb", "table-name": "dms_source_table" } }{ "metadata": { "timestamp": "2024-02-20T09:42:56.348950Z", "record-type": "control", "operation": "create-table", "partition-key-type": "task-id", "schema-name": "kajihirodb", "table-name": "dms_source_table" } }{ "data": { "id": 1, "title": "風の谷のナウシカ", "keyword": "ナウシカ" }, "metadata": { "timestamp": "2024-02-20T09:42:56.360235Z", "record-type": "data", "operation": "load", "partition-key-type": "primary-key", "schema-name": "kajihirodb", "table-name": "dms_source_table" } }{ "data": { "id": 2, "title": "となりのトトロ", "keyword": "トトロ" }, "metadata": { "timestamp": "2024-02-20T09:42:56.368645Z", "record-type": "data", "operation": "load", "partition-key-type": "primary-key", "schema-name": "kajihirodb", "table-name": "dms_source_table" } }{ "data": { "id": 3, "title": "天空の城ラピュタ", "keyword": "パズー" }, "metadata": { "timestamp": "2024-02-20T09:42:56.376638Z", "record-type": "data", "operation": "load", "partition-key-type": "primary-key", "schema-name": "kajihirodb", "table-name": "dms_source_table" } }{ "data": { "id": 5, "title": "千と千尋の神隠し", "keyword": "千尋" }, "metadata": { "timestamp": "2024-02-20T09:42:56.394266Z", "record-type": "data", "operation": "load", "partition-key-type": "primary-key", "schema-name": "kajihirodb", "table-name": "dms_source_table" } }
- KDS-S3-KdgnY-1-2024-02-20-09-42-56-eb681b7d-0113-4e51-a1b7-b7670fdef71c
{ "data": { "id": 4, "title": "ハウルの歩く城", "keyword": "ハウル" }, "metadata": { "timestamp": "2024-02-20T09:42:56.385582Z", "record-type": "data", "operation": "load", "partition-key-type": "primary-key", "schema-name": "kajihirodb", "table-name": "dms_source_table" } }
実際に S3 に出力した場合にどのようなデータ形式になるかの参考になればと思います。