使用 Step Functions 啟動 AWS Glue 任務 - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Step Functions 啟動 AWS Glue 任務

了解如何使用 Step Functions 開始執行任務 AWS Glue。此頁面列出支援API的動作,並提供啟動 AWS Glue 任務的範例Task狀態。

若要了解如何在 Step Functions 中整合 AWS 服務,請參閱 整合 服務將參數傳遞至 Step Functions API中的服務

最佳化 AWS Glue 整合的主要功能
  • 執行任務 (.sync) 整合模式可供使用。

  • JobName 欄位會從請求中擷取,並插入到回應中,通常只包含 JobRunID

下列包含啟動 AWS Glue 任務Task的狀態。

"Glue StartJobRun": { "Type": "Task", "Resource": "arn:aws:states:::glue:startJobRun.sync", "Parameters": { "JobName": "GlueJob-JTrRO5l98qMG" }, "Next": "ValidateOutput" },
中的參數 Step Functions 以 表示 PascalCase

即使原生服務API位於 中camelCase,例如 API 動作 startSyncExecution,您在 中指定參數 PascalCase,例如:StateMachineArn

支援的 AWS Glue APIs

IAM 用於呼叫 的政策 AWS Glue

下列範例範本顯示 如何根據您狀態機器定義中的資源 AWS Step Functions 產生IAM政策。如需詳細資訊,請參閱 Step Functions 式如何為整合式服務產生IAM原則探索 Step Functions 中的服務整合模式

AWS Glue 沒有以資源為基礎的控制。

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun" ], "Resource": "*" } ] }
Request Response and Callback (.waitForTaskToken)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:StartJobRun" ], "Resource": "*" } ] }