¿Por qué no se desencadena mi flujo de trabajo de AWS Glue?

5 minutos de lectura
0

He creado un flujo de trabajo de AWS Glue, pero no se inicia. O bien, algunos de los trabajos o rastreadores que componen mi flujo de trabajo de AWS Glue no se están ejecutando.

Breve descripción

Si su flujo de trabajo de AWS Glue o sus componentes no se desencadenan, confirme lo siguiente:

  • Si se utiliza un desencadenador programado como desencadenador de origen, confirme que esté activado. Asegúrese de que la programación esté indicada en la hora universal coordinada (UTC) y de que la expresión cron incluya todos los campos obligatorios.
  • Si se utiliza un desencadenador basado en eventos como desencadenador de origen, confirme que la regla de Amazon EventBridge sea correcta y esté activada y vinculada al flujo de trabajo. Confirme que el rol que se usa para agregar el flujo de trabajo como destino tiene los permisos necesarios para transferir eventos a AWS Glue.
  • S el disparador de origen se desencadena mediante un componente externo, confirme que este funcione correctamente.
  • Asegúrese de que no haya un agente externo al flujo de trabajo que cumpla el predicado condicional utilizado para desencadenar un componente.
  • El componente puede formar parte de una cadena de dependencias. Asegúrese de que los trabajos o rastreadores preliminares se inicien como parte del mismo flujo de trabajo mediante un único desencadenador de origen.

Resolución

El flujo de trabajo no se inicia con un desencadenador basado en el tiempo

Si el desencadenador de origen del flujo de trabajo está programado, compruebe lo siguiente:

  • Asegúrese de que el estado del desencadenador sea ACTIVADO, no CREADO. Si el desencadenador no se encuentra en el estado ACTIVADO, actívelo manualmente.
  • Asegúrese de que la expresión cron utilizada en la programación de un desencadenador programado esté indicada en UTC. Asegúrese de que los campos de la expresión cron se correspondan con la conversión del huso horario local a UTC. Además, compruebe si la expresión cron incluye todos los campos obligatorios en el formato correcto. Para obtener más información, consulte Programaciones basadas en el tiempo para trabajos y rastreadores.

El flujo de trabajo no se inicia con un disparador bajo demanda

Es posible que el desencadenador de origen sea bajo demanda y que una entidad preliminar lo desencadene con la llamada a la API StartWorkflowRunl. Para este caso de uso, asegúrese de que la entidad que llama funcione correctamente.

El flujo de trabajo no se inicia con un desencadenador condicional

Asegúrese de que no haya un agente externo al flujo de trabajo que cumpla el predicado condicional en el desencadenador. Si un agente externo cumple las condiciones, el desencadenador no se activará. Los desencadenadores condicionales se inician solo si un desencadenador inicia el evento observado.

Por ejemplo, supongamos que se cumplen las siguientes condiciones:

  • Tiene un flujo de trabajo con un trabajo JOB_MAIN iniciado con el desencadenador TEST_TR.
  • El desencadenador TEST_TR depende de que se complete otro trabajo, JOB_DEP, que no forma parte del flujo de trabajo actual.

En este caso, aunque se complete correctamente JOB_DEP y se cumpla la lógica del predicado del desencadenador TEST_TR, el trabajo JOB_MAIN no se iniciará. El trabajo no se inicia porque un agente que no forma parte del mismo flujo de trabajo cumple el predicado condicional.

El flujo de trabajo no se inicia con un desencadenador basado en eventos

Puede que haya configurado EventBridge (también conocido como Eventos de Amazon CloudWatch) para iniciar sus flujos de trabajo. Si utiliza esta configuración y observa que el desencadenador de origen no se inicia, compruebe lo siguiente:

  • Si utiliza eventos de datos de Amazon Simple Storage Service (Amazon S3) como origen, confirme que ha creado un registro de seguimiento correctamente para la cuenta de AWS. A continuación, compruebe que los eventos del bucket de S3 en cuestión se están registrando en AWS CloudTrail.
  • Compruebe la regla de EventBridge para confirmar que eventSource, eventName y requestParameters se han definido como cabría esperar.
  • Confirme que la regla de EventBridge se haya asociado al ARN de destino correcto del flujo de trabajo.
  • Confirme que el estado de la regla de EventBridge sea ** HABILITADA**.
  • Confirme que el RoleArn utilizado para asociar la regla al destino del flujo de trabajo tenga asociadas las políticas CloudWatchEventsBuiltInTargetExecutionAccess y CloudWatchEventsInvocationAccess. A continuación, confirme que haya suficientes permisos de IAM para glue:NotifyEvent en el flujo de trabajo. El siguiente ejemplo muestra la política mínima requerida de AWS Glue:
{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": ["glue:NotifyEvent"],
        "Resource": ["arn:aws:glue:<region>:<account-id>:workflow/<workflow-name>"]
    }]
}

El flujo de trabajo no se inicia para un componente, un trabajo o un rastreador que forma parte de una cadena de dependencias

Compruebe si el rastreador o el trabajo en cuestión dependen de la conclusión de un rastreador o trabajo preliminar iniciado también con un desencadenador. Un trabajo o rastreador dependiente solo se inicia si el trabajo o rastreador que se ha completado se inició mediante un desencadenador. Asegúrese de que todos los trabajos o rastreadores de una cadena de dependencias descienden de un único desencadenador programado o bajo demanda.

Por ejemplo, supongamos que se cumplen estas condiciones:

  • El flujo de trabajo empieza con un desencadenador denominado TEST_TR1, que inicia el trabajo llamado JOB_1.
  • Otro desencadenador denominado TEST_TR2 depende de la conclusión de JOB_1 para poder iniciar el trabajo llamado JOB_2.

En este caso, TEST_TR2 iniciará JOB_2 cuando se cumpla el predicado condicional para TEST_TR2.

Sin embargo, si JOB_1 se ejecuta bajo demanda y no se inicia mediante TEST_TR1, TEST_TR2 no iniciará JOB_2 aunque se cumpla el predicado condicional para TEST_TR2.


Información relacionada

Desencadenadores de AWS Glue

Restricciones del flujo de datos en AWS Glue

Inicio de un flujo de trabajo de AWS Glue con un evento de Amazon EventBridge

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años