Comience un trabajo de AWS Glue con Step Functions - AWS Step Functions

Comience un trabajo de AWS Glue con Step Functions

Aprenda a usar Step Functions para empezar a ejecutar un trabajo AWS Glue. En esta página se enumeran las acciones de API compatibles y se proporciona un ejemplo de estado Task para iniciar un trabajo AWS Glue.

Para obtener más información sobre la integración con los servicios de AWS en Step Functions, consulte Integración de los servicios de y Cómo pasar parámetros a una API de servicio en Step Functions.

Características principales de la integración optimizada de AWS Glue
  • El patrón de integración Ejecutar un trabajo (.sync) está disponible.

  • El campo JobName se extrae de la solicitud y se inserta en la respuesta, que normalmente solo contiene JobRunID.

El ejemplo siguiente incluye un estado Task que comienza un trabajo de AWS Glue.

"Glue StartJobRun": { "Type": "Task", "Resource": "arn:aws:states:::glue:startJobRun.sync", "Arguments": { "JobName": "GlueJob-JTrRO5l98qMG" }, "Next": "ValidateOutput" },
Los parámetros en Step Functions se expresan en PascalCase

Incluso si la API del servicio nativo está en CamelCase, por ejemplo, la acción startSyncExecution de la API, se especifican parámetros en PascalCase, como: StateMachineArn.

API AWS Glue optimizadas

Políticas de IAM para las llamadas a AWS Glue

En estas plantillas de ejemplo, se muestra cómo AWS Step Functions genera políticas de IAM basadas en los recursos de la definición de la máquina de estado. Para obtener más información, consulte Generación de políticas de IAM para servicios integrados por Steps Functions y Descubrimiento de los patrones de integración de servicios en Step Functions.

AWS Glue no tiene control basado en recursos.

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