Skip to content

AWSで作るはじめてのETL【StepFunctions編集】

概要

トリガー起動されたStepFunctionsのワークフローを編集する。

StepFunctions

StepFunctionsに遷移

StepFunctions選択

自分のStepFunctionsをクリック

編集

StepFunctions構築

1. Choice

Choiceステートを選択してドラッグ&ドロップ

2. Add new choice rule

Add new choice ruleをクリックしてルールを追加する

6個になるように作る(Rule #5になるまで)

3. StartJobRun

StartJobRunステートを選択して「ここに状態をドロップ」の場所にドラッグ&ドロップ

5個になるように作る

4. Fail

Failステートを選択して「ここに状態をドロップ」の場所にドラッグ&ドロップ

5. StartJobRun 状態名

StartJobRun ステートの設定より、状態名を編集

  • 状態名: import-users
  • タスクが完了するまで待機 - オプション: 有効化

6. StartJobRun 引数と出力

StartJobRun ステートの引数と出力より、引数を編集

  • 引数
json
{
  "JobName": "job-[自分の名前]-[番号]-import-users"
}

7. 他のJob編集

同様にして他のジョブも修正する

  • products

    • 状態名: import-products
    • JobName: job-[自分の名前]-[番号]-import-products
  • orders

    • 状態名: import-orders
    • JobName: job-[自分の名前]-[番号]-import-orders
  • order_items

    • 状態名: import-order_items
    • JobName: job-[自分の名前]-[番号]-import-order_items
  • weather

    • 状態名: import-weather
    • JobName: job-[自分の名前]-[番号]-import-weather

8. Choice編集

Choiceのルールをクリックする

Rule #1 ~ Rule #5及び Default rule を下記のように修正する

  • Rule #1

    • Condition: {% $split($states.input.detail.object.key, '/')[0] = 'users' %}
    • Then next state is: import-users
  • Rule #2

    • Condition: {% $split($states.input.detail.object.key, '/')[0] = 'products' %}
    • Then next state is: import-products
  • Rule #3

    • Condition: {% $split($states.input.detail.object.key, '/')[0] = 'orders' %}
    • Then next state is: import-orders
  • Rule #4

    • Condition: {% $split($states.input.detail.object.key, '/')[0] = 'order_items' %}
    • Then next state is: import-order_items
  • Rule #5

    • Condition: {% $split($states.input.detail.object.key, '/')[0] = 'weather' %}
    • Then next state is: import-weather
  • Default rule

    • Then next state is: Fail

保存

保存をクリック

動作確認

s3-[自分の名前]-[番号]-datalakeusersフォルダに下記ファイルをアップロードする

名前は users.csv にすることに注意

前回アップロードしたファイルを上書きして良い

users.csv

動作確認: Glue Job確認

自身のStepFunctionsが動いていて、import-usersをキックしていればOK

一覧に戻る

構築一覧に戻る