使用 Step Functions 启动 Amazon Glue 任务 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Step Functions 启动 Amazon Glue 任务

了解使用 Step Functions 在 Amazon Glue 上启动任务运行。本页列出了支持的 API 操作,并提供了启动 Amazon Glue 任务的示例 Task 状态。

要了解如何在 Step Functions 中与 Amazon 服务集成,请参阅集成 服务在 Step Functions 中将参数传递给服务 API

经优化的 Amazon Glue 集成的主要功能
  • 运行作业 (.sync) 集成模式可用。

  • JobName 字段从请求中提取出来并插入到响应中,而响应通常只包含 JobRunID

下面包含一个启动 Task 作业的 Amazon Glue 状态。

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

即使原生服务 API 采用 camelCase(例如 API 操作 startSyncExecution),也可以采用 PascalCase 指定参数,例如:StateMachineArn

经优化 Amazon Glue 的 API

用于调用 Amazon Glue 的 IAM 策略

以下示例模板展示了 Amazon Step Functions 如何根据状态机定义中的资源生成 IAM 策略。有关更多信息,请参阅Step Functions 如何为集成服务生成 IAM 策略探索 Step Functions 中的服务集成模式

Amazon 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": "*" } ] }