注意点
「Amazon AppFlowを触ってみた」の記事でも紹介しましたが、Amazon AppFlowはフローを実行するたびに料金が発生します。
ご注意ください。また詳しい内容は下記の「注意点」をご確認ください!
今回やること
今回やりたいことは恒例のS3からS3に対してCSVを送ることです。
CSVを送る過程でfirst_nameとlast_nameの2つの値を合体してnameとして送ってみようと思います。
今回使用する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,
前提
初回の記事を参考にS3バケット間でCSVのやり取りができる状態になっていることを前提とします。
方法
AWSにログインしAppFlowの当該のフローの編集ページまで移動します。
手順3「データフィールドを編集」のページを開きます。
下記のフィールドにチェックをつけます。
- first_name
- last_name
「式を追加」をクリックします。
「式を選択」で「連結」を選択します。
「新しい送信先フィールドを入力」に「name」と入力し「式を使用してフィールドをマッピングする」をクリックし式を保存します。
フローそのものの設定も保存しましょう。
ちなみに設定が完了したあとのマッピングフィールドの内容は下記の様になりました。
実行
早速当該のフローを実行してみましょう!
フローが正常に完了したことを確認してS3のフォルダを確認します。
新規作成されたディレクトリに入りファイルを選択しダウンロードします。
内容を確認すると既存の情報にプラスして、nameの値が追加されていました!今回も無事終了です!
-
送信元CSV
test.csvid,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
"id","first_name","last_name","password","age","name" "1","Tarou","Yamada","abcd1234","20","Tarou Yamada" "2","Hanako","Yamada","abcd1234","22","Hanako Yamada" "3","Tarou","Satou","abcd1234","24","Tarou Satou" "4","Hanako","Satou","abcd1234","16","Hanako Satou"
おわりに
まさかこんなに簡単にCSVの内容を連結する事ができると思っていませんでした、、!複雑なことはできませんがある程度ならアプリケーションではなくAppFlowに式を記載することで対応できそうです、、!