Skip to content

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

概要

ETL処理のワークフローを実行するStepFunctionsとStepFunctionsの権限を管理するIAMロールを作成します。

IAMロール作成

一覧よりIAMをクリック。

ロール作成

信頼されたエンティティを選択

  • 信頼されたエンティティタイプ: カスタム信頼ポリシー

カスタム信頼ポリシーを下記のように設定する。

json
{
  "Version": "2012-10-17",
    "Statement": [
      {
        "Sid": "",
            "Effect": "Allow",
            "Principal": {
              "Service": "states.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

「次へ」

許可を追加

AWSGlueServiceRoleにチェックを入れて許可を追加

「次へ」

名前、確認、および作成

下記の通りに設定。

それ以外はデフォルトでOK。

終わったら作成。

  • ロール名: role-[自分の名前]-[番号]-stepfunctions-statemachine

StepFunctions Statemachine遷移

一覧よりStepFunctionsをクリック。

ステートマシン作成

ユースケース選択

空白から作成を選択

ステートマシン名: sfn-[自分の名前]-[番号]-object-import

StepFunctions設定

設定をクリックし、設定画面へ遷移

実行ロールを設定

  • 実行ロール: role-[自分の名前]-[番号]-stepfunctions-statemachine

StepFunctions デザイン

「デザイン」ボタンを押してデザイン画面へ遷移

Glue: StartJobRunを選択し、ドラッグ&ドロップ

ステート編集

Glue StartJobRunのフロー状態(ステート)を選択

引数と出力引数を下記にする

終わったら作成(保存)ボタン。

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

完了

でけた

実行

実行ボタンを押してそのまま実行

成功

やったぜ。

一覧に戻る

構築一覧に戻る