Amazon AppFlow でCSVの内容を一部変更してみる part2
この記事はアンテクアドベントカレンダー2022の11日目の記事です
https://adventar.org/calendars/7821
皆さんこんにちは、サーバーサイドエンジニアの大川です。今回はAWSのAppFlowを使ってCSVの内容を一部抜粋してみようと思います!
注意点
「Amazon AppFlowを触ってみた」の記事でも紹介しましたが、Amazon AppFlowはフローを実行するたびに料金が発生します。
ご注意ください。また詳しい内容は下記の「注意点」をご確認ください!
今回やること
今回やりたいことは前々回「Amazon AppFlowmを触ってみた」や前回「Amazon AppFlow でCSVの内容を一部変更してみる part1」の時と同様にS3からS3に対してCSVを送ります。
CSVを送る過程で、情報をfirst_nameとlast_nameのみに絞って送ってみようと思います。
今回使用するCSVは前回と同じ下記です。(今気が付きましたがfirst_nameとlast_nameが逆になってますね、、すみません。このまま行きます。)
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,
前提
初回の記事を参考にS3バケット間でCSVのやり取りができる状態になっていることを前提とします。
方法
AWSにログインしAppFlowの当該のフローの編集ページまで移動します。
手順3「データフィールドを編集」のページを開きます。
下記のフィールドにチェックをつけます。
- id
- password
- age
「選択したマッピングを削除」をクリックします。
これで送信されるCSVの情報がfirst_nameとlast_nameのみになりました。設定を保存しておきます。
実行
当該のフローを実行して結果を見てみましょう!
フローが正常に完了したことを確認して、S3のフォルダを見に行きましょう。
ディレクトリができているのでその中に入り、格納されているファイルをダウンロードし、確認します。
内容を確認すると限定された情報だけが送信先の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
"first_name","last_name"
"Tarou","Yamada"
"Hanako","Yamada"
"Tarou","Satou"
"Hanako","Satou"
おわりに
一部の値のみ抜粋してCSV化する事ができました!ちょっと覚えちゃえばめっちゃ簡単ですね!