LoginSignup
0
0

[過去記事]Amazon AppFlowで不正な値をスルーする

Posted at

今回やること

今回やりたいことはもはや言うまでも無くいつもどおりのS3からS3に対してCSVを送ることです。

CSVを送る過程でageの値に負の値があったレコードはスキップして見ようと思います。
今回使用するCSVはいつもとは若干異なり、下記の様になります。

test.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「データフィールドを編集」のページを開きます。
妥当性確認にて「妥当性確認を追加」をクリックします。

Amazon_AppFlow-34-1024x960.png

下記の様に設定します

  • フィールド名:age
  • 条件:
  • アクション:レコードを無視

内容を確認して保存をクリックします。

Amazon_AppFlow-35-1024x294.png

実行

設定ができたらフローを実行してみましょう!
フローが正常に実行されたことを確認し、S3のフォルダを確認します。

Amazon_AppFlow-36.png

CSVが格納されたディレクトリに移動し移動先のCSVをダウンロードします。

miriwo-test-b_-_S3_bucket-8.png

内容を確認するとidが4のレコードの情報だけスキップされ、CSVが送られていました!これで無事完了です!

  • 送信元CSV

    test.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

    "id","first_name","last_name","password","age"
    "1","Tarou","Yamada","abcd1234","20"
    "2","Hanako","Yamada","abcd1234","22"
    "3","Tarou","Satou","abcd1234","24"
    

おわりに

ある程度の以上値をAppFlowでフィルターすることも簡単にできました!これで送信先に異常なデータが渡ることを防げそうです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0