【aws】rdsからs3へdata pipelineを使ってエクスポートする方法 〜 mysql
はじめに
今回やりたかったのはrds上のテーブルをcsvでエクスポートしたものをs3上に保存したいことでした
>db
db名 = myDb
テーブル名 = myTable
> s3
バケット名 = myBucket
出力ファイル名 = output/myTable_20160615.csv
dbとs3の出力先は上記とします
Data Pipelineを作成
とりあえず基本設定をして作成
「Create New pipeline」ボタンから作成画面を開きます
各項目を入力する
項目名 | 入力値 | メモ |
---|---|---|
Name | rds to s3 | 適当な名前 |
Source | Build using a templateを選択して Full copy of RDS MySQL table to s3 | |
RDS MySQL password | dbパスワードを入力 | |
Output S3 folder | s3://myBucket/output | 結果出力先ディレクトリ |
RDS MySQL username | dbユーザー名を入力 | |
RDS Instance ID | myDb | db名を入力 |
S3 location for logs | s3://myBucket/log | s3上でログ出力していい箇所を適当に入力 |
「Edit In Architect」ボタンをクリック
s3への出力ファイルを設定
ここまででGUIで設定するような画面が表示されます。
デフォルトのままだと出力先のディレクトリは上記で設定した場所になるのですが、
ファイル名がランダムにつけられて今回は都合が悪かったので、「myTable_20160615.csv」となるようにしたいと思います。
ちょっとわかりずらかったのですが、画面右の
「Data Nodes」をクリックすると、「S3OutputLocation」というのがあってさらにその中の項目で「File Path」というのを設定します。
設定内容は「s3://myBucket/output/#myTable_{format(@scheduledStartTime, 'YYYYMMdd')}.csv」とします
上で設定した「Output S3 folder」は何だったのか、、、
これで出力先の設定も完了したので、「Activate」で実行可能となります
以上です