Amazon AppFlow マッピングにCSVを使ってみる
皆さんこんにちは、サーバーサイドエンジニアの大川です。今回はAWSのAppFlowでマッピングをする際にCSVファイルをつかってみようと思います!
内容は下記と全く一緒でマッピング部分だけCSVで行ってみます!
準備
転送転送もとのCSVも引用記事と同じものを使います。
id,first_name,last_name,password,age,
1,Tarou,Yamada,abcd1234,20,
2,Hanako,Yamada,abcd1234,22,
3,Tarou,Satou,abcd1234,24,
4,Hanako,Satou,abcd1234,16,
下記の内容に沿ってフローを作成し、「マッピング方法」の選択部分の直前まで設定を進めます。
マッピング方法は下記の様に選択します。
- マッピング方法:マッピングされたフィールドを含む.csvファイルをアップロードする
ここでマッピングCSVを準備します。実は「ファイルのアップロード」の横の「情報」をクリックするとマッピングCSVの書き方の説明が見れます。
どうやら下記の様に記載すればマッピングしてくれる模様です!(ソースフィールドAをターゲットフィールドBにマッピングしたい場合)
ソースフィールドA,ターゲットフィールドB
今回は下記の様にマッピングしてみようと思います。
ソースフィールド | ターゲットフィールド |
id | ID |
first_name | FIRST_NAME |
last_name | LAST_NAME |
password | PASSWORD |
age | AGE |
下記の様なmapping.csvを用意しました。(「,」の後ろに半角スペースなどを入れないでください。)
id,ID
first_name,FIRST_NAME
last_name,LAST_NAME
password,PASSWORD
age,AGE
「ファイルを選択」をクリックし、mapping.csvを選びアップロードします。
mapping.csvの記載が問題なく、アップロードも正常に行われるとフィールドが表示されます。
後はAppFlowの設定を保存しましょう。
確認
早速確認してみましょう!「フローの実行」からフローを実行しましょう。
送信先バケットの/out/test_flow/実行IDフォルダ直下をのファイルをダウンロードして確認すると、下記のようにしっかりとマッピングが反映されて転送されています!これで成功です!
"ID","FIRST_NAME","LAST_NAME","PASSWORD","AGE"
"1","Tarou","Yamada","abcd1234","20"
"2","Hanako","Yamada","abcd1234","22"
"3","Tarou","Satou","abcd1234","24"
"4","Hanako","Satou","abcd1234","16"
おわりに
今回はAppFlowのフィールドマッピング設定をCSVを用いて行ってみました!マッピングする項目数が極端に多い場合は、今回のようにCSVを用いてマッピングを行ったほうが楽かもしれません!マッピングCSVの記載もそこまで複雑ではないのでおすすめです!