質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

697閲覧

AWS DMS でS3の任意のパスをソースエンドポイントにする方法

退会済みユーザー

退会済みユーザー

総合スコア0

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2019/06/10 09:53

編集2019/06/11 02:44

S3のデータを定期的に MySQL にもってきたいので
AWS DMS というのを使おうと思ってるのですが
S3 をソースにするドキュメントが
https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.S3.html
これぐらいしかなく

/schemaName/tableName/LOAD001.csv

という形の取り込み方しか乗っていません

たとえば

/users/<YYYYMMDD>/<user_id>.csv

のような形でたまっているS3データはソースにすることはできないのでしょうか

追記:

テストのために新規バケットでCSVファイルは1つだけ公式ドキュメントと同じものをおいています
/users/201906/1.csv

101,Smith,Bob,4-Jun-14,New York 102,Smith,Bob,8-Oct-15,Los Angeles 103,Smith,Bob,13-Mar-17,Dallas 104,Smith,Bob,13-Mar-17,Dallas

JSONは

"TableName": "users_test", "TablePath": "users/*/", "TableOwner": "db_test",

の部分だけいろいろかえて試行錯誤してますがどれもうまくいきません

{ "TableCount": "1", "Tables": [ { "TableName": "users_test", "TablePath": "users/*/", "TableOwner": "db_test", "TableColumns": [ { "ColumnName": "Id", "ColumnType": "INT8", "ColumnNullable": "false", "ColumnIsPk": "true" }, { "ColumnName": "LastName", "ColumnType": "STRING", "ColumnLength": "20" }, { "ColumnName": "FirstName", "ColumnType": "STRING", "ColumnLength": "30" }, { "ColumnName": "HireDate", "ColumnType": "DATETIME" }, { "ColumnName": "OfficeLocation", "ColumnType": "STRING", "ColumnLength": "20" } ], "TableColumnsTotal": "5" } ] }

db_test 自体は存在していて
タスクの制御テーブル設定で db_test を指定すると
awsdms_apply_exceptions
とかは作られます

ログを見るとエラーとかは出てなくて
[TASK_MANAGER ]I: Loading finished for table 'db_test'.'users_test' (Id = 1) by subtask 1. 0 records transferred. (replicationtask.c:2278)
とずっとレコードが0になってターゲットにテーブル自体も作られません

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2019/06/10 22:51

そのCSVの内容構成とテーブルのスキーマを記載いただけませんか
guest

回答1

0

S3のデータを定期的に MySQL に持っていきたいのであれば、DMSにこだわる必要はない気がします。
(DMSはデータ移行時に主に利用し、DMSのためにEC2が起動するため、料金がそれなりにかかります。
常時サービスで利用する場合は、過去システムの経緯などで複数種類のRDSなどが存在するときかなと思います。)

AWS Data PipelineやAWSBatchを利用した方が簡単そうです。
AWS Data Pipelineは S3 to MySQLのテンプレートが既にあるようです。

https://docs.aws.amazon.com/ja_jp/datapipeline/latest/DeveloperGuide/dp-template-copys3tords.html
http://blog.serverworks.co.jp/tech/2017/03/31/datapipeline/
https://dev.classmethod.jp/cloud/aws/s3put-kick-awsbatch/

投稿2019/06/15 04:28

編集2019/06/16 01:00
kotatu

総合スコア55

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問