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"
}
完了
でけた
実行
実行ボタンを押してそのまま実行
成功
やったぜ。