0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[過去記事]Amazon AppFlowを触ってみた

Last updated at Posted at 2024-05-12

注意点

Amazon AppFlowは動作させると料金が発生します。また2022/12/07現在無料枠などの設定もありません。「誤って高額請求を発生させてしまった!」なんてことがないように注意しましょう!

ちなみにAppFlowの料金は実行料金とデータ処理料金の2種類のようです。

1フロー実行あたり 0.001USD(実行料金) + 1ヶ月あたりの処理データ量1GBあたり0.09USD(処理料金)です。更に今回はS3を使いますので場合によってはそちらの料金もかかります。

料金通知アラームなどをうまく活用して高額請求を防ぎましょう!

Amazon AppFlowの料金について↓

今回やること

今回やりたいことを図にしてみました!今回は初めてなのでS3 → S3感のAppFlowを使ったCSVファイルの共有をしてみたいと思います。(AppFlowでのデータの加工は別の記事で実施します。今回はCSVをとりあえず移動するところまでやってみます。)

private__Online_Whiteboard_for_Visual_Collaboration-1024x364.png

準備

CSVの準備

今回、AppFlowで移動を行うテスト用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の設置

次にバケットの作成です。今回は下記2種類のバケットを作成します。それぞれアクセスを一切ブロックしない設定にします!

  • miriwo-test-aバケット
  • miriwo-test-bバケット

また各バケットにフォルダを作成しておきます。

  • miriwo-test-aバケットのルートにinフォルダ
  • miriwo-test-bバケットのルートにoutフォルダ

またmiriwo-test-aバケットのinフォルダの中にtest.csvをアップロードしておきます。

miriwo-test-a_-_S3_bucket-1024x291.png

フローの作成

それではここからフローの作成をやっていきましょう!

AppFlowのトップページにアクセスし「フローを作成」をクリックします。

各種情報を入力してゆきます。

フロー名:任意のフロー名を入力してください
フローの説明:任意のフローの説明を入力してください
暗号化設定をカスタマイズするのチェック:今回は体験なのでチェックなしで大丈夫です
新しいタグを追加:追加しないで大丈夫です

入力を確認し「次へ」をクリックします。

Amazon_AppFlow-1-1024x938.png

送信元と送信先の設定を行います。

送信元:S3を選択します。

Amazon_AppFlow-2-1024x476.png

送信先:S3を選択します。

Amazon_AppFlow-3-1024x576.png

送信元のS3の設定から実施します。

  • S3バケットを選択:先に追加したmiriwo-test-aバケットを選択します
  • バケットプレフィックスを入力:作成したフォルダ名であるinを入力します

Amazon_AppFlow-4-1024x344.png
データ形式の設定:CSV形式を選択します

送信先のS3の設定を実施します。

  • S3バケットを選択:先に追加したmiriwo-test-bバケットを選択します
  • バケットプレフィックスを入力:作成したフォルダ名であるoutを入力します
  • データ形式の設定:CSV形式を選択します
  • ファイル名の設定:タイムスタンプなしを選択します

Amazon_AppFlow-5-1024x590.png

最後にフロートリガーの設定を実施します。

  • フローをトリガーする方法を選択:オンデマンドで実行を選択します。

ちなみに各フロートリガーを簡単に説明すると

  • オンデマンドで実行:AWSの画面から「フローを実行ボタン」を人間がクリックしてフローを実行
  • スケジュール通りにフローを実行:予め指定した日時に自動でフローを実行
  • イベントでフローを実行:別途設定するSalesforceなどのイベントをきっかけに自動でフローを実行

となります。今回はあくまでお試しなので「オンデマンドで実行」を選んだわけです。

Amazon_AppFlow-6-1024x229.png

設定できたら「次へ」をクリックしましょう。
データフィールドのマッピングではCSVの情報を変更する場合などに設定します。

  • マッピング方法:手動でフィールドをマッピングする

Amazon_AppFlow-9-1024x184.png

  • 送信元から送信先フィールドのマッピング、送信フィールドを選択:すべてのフィールドを直接マッピングする

Amazon_AppFlow-10-1024x446.png

今回はCSVを移動させるだけなので上記だけ設定して「次へ」をクリックします。(CSVデータの改変などは別に紹介予定です。)

Amazon_AppFlow-11-1024x944.png

フィルターはこの設定だと登録できないので「次へ」をクリックします。

Amazon_AppFlow-12-1024x158.png

確認して作成のページでは内容を確認して問題無さそうなら「フローを作成」をクリックします。
これでAppFlowの設定は完了です。

実行

それでは実際に作成したフローを実行してみましょう!
まずAppFlowのトップページから「フローを表示」をクリックします。
フロー名をクリックします。

Amazon_AppFlow-14-1024x225.png

「フローを実行」をクリックしてフローを動かします。

Amazon_AppFlow-15-1024x868.png

フローが実行されますので終了を待ちます。

正常に終了したようです!

Amazon_AppFlow-17.png

それでは実際にS3のmiriwo-test-bバケットのoutフォルダを見に行ってみましょう。

当該フォルダにフロー名のディレクトリが生成され、更にその下のフォルダの中にファイルが入っています。

miriwo-test-b_-_S3_bucket-1024x343.png

このファイルにチェックマークを着けてダウンロードします。

miriwo-test-b_-_S3_bucket-1-1024x212.png

拡張子こそ無いものの、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
"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 → S3のファイルの移動の体験は完了です!

本来S3同士でファイルをやり取りすることにはあまり使わず、AWSサービス → 別のサービスの同期などで使います!
今度は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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?