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"
}
完了
でけた

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


成功
やったぜ。

