【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」ボタンから作成画面を開きます

各項目を入力する

項目名入力値メモ
Namerds to s3適当な名前
SourceBuild using a templateを選択して
Full copy of RDS MySQL table to s3
RDS MySQL passworddbパスワードを入力
Output S3 folders3://myBucket/output結果出力先ディレクト
RDS MySQL usernamedbユーザー名を入力
RDS Instance IDmyDbdb名を入力
S3 location for logss3://myBucket/logs3上でログ出力していい箇所を適当に入力

「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」で実行可能となります

以上です