Automatización de AWS Glue con CloudWatch Events - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Automatización de AWS Glue con CloudWatch Events

Puede utilizar Eventos de Amazon CloudWatch para automatizar los servicios de AWS y responder de forma automática a eventos del sistema, como problemas de disponibilidad de aplicaciones o cambios de recursos. Los eventos de los servicios de AWS se envían a CloudWatch Events casi en tiempo real. Puede crear reglas sencillas para indicar qué eventos le resultan de interés, así como qué acciones automatizadas se van a realizar cuando un evento cumple una de las reglas. Entre las acciones que se pueden activar automáticamente se incluyen las siguientes:

  • Invocar una función de AWS Lambda

  • Invocar Ejecutar comando de Amazon EC2

  • Desviar el evento a Amazon Kinesis Data Streams

  • Activar una máquina de estado de AWS Step Functions

  • Notificar un tema de Amazon SNS o una cola de Amazon SQS

Algunos ejemplos del uso de CloudWatch Events con AWS Glue incluyen los siguientes:

  • Activar una función de Lambda cuando se realiza correctamente un trabajo de ETL

  • Notificar un tema de Amazon SNS cuando un trabajo de ETL produce error

Los siguientes eventos de CloudWatch Events son generados por AWS Glue.

  • Se generan eventos de "detail-type":"Glue Job State Change" para SUCCEEDED, FAILED, TIMEOUT y STOPPED.

  • Se generan eventos de "detail-type":"Glue Job Run Status" para ejecuciones de trabajos RUNNING, STARTING o STOPPING cuando superan el umbral de notificación de retraso de flujo de trabajo. Debe configurar la propiedad de umbral de notificación de retraso en el trabajo para recibir estos eventos.

    Solo se genera un evento por estado de ejecución de un trabajo cuando se supera el umbral de notificación de retraso en el trabajo.

  • Se generan eventos de "detail-type":"Glue Crawler State Change" para Started, Succeeded y Failed.

  • Se generan eventos de "detail-type":"Glue Data Catalog Database State Change" para CreateDatabase, DeleteDatabase, CreateTable, DeleteTable y BatchDeleteTable. Por ejemplo, si se crea o se elimina una tabla, se envía una notificación a CloudWatch Events. Tenga en cuenta que no puede escribir un programa que dependa del orden o de la existencia de eventos de notificación, ya que pueden no estar ordenados o faltar. Los eventos se emiten en la medida de lo posible. En los detalles de la notificación:

    • typeOfChange contiene el nombre de una operación API.

    • databaseName contiene el nombre de la base de datos afectada.

    • changedTables contiene hasta 100 nombres de tablas afectadas por notificación. Cuando los nombres de las tablas son largos, podrían crearse varias notificaciones.

  • Se generan eventos de "detail-type":"Glue Data Catalog Table State Change" para UpdateTable, CreatePartition, BatchCreatePartition, UpdatePartition, DeletePartition, BatchUpdatePartition y BatchDeletePartition. Por ejemplo, si se actualiza una tabla o una partición, se envía una notificación a CloudWatch Events. Tenga en cuenta que no puede escribir un programa que dependa del orden o de la existencia de eventos de notificación, ya que pueden no estar ordenados o faltar. Los eventos se emiten en la medida de lo posible. En los detalles de la notificación:

    • typeOfChange contiene el nombre de una operación API.

    • databaseName contiene el nombre de la base de datos que contiene los recursos afectados.

    • tableName contiene el nombre de la tabla afectada.

    • changedPartitions especifica hasta 100 particiones afectadas en una notificación. Cuando los nombres de las particiones son largos, podrían crearse varias notificaciones.

      Por ejemplo, si hay dos claves de partición, Year y Month, "2018,01", "2018,02" modifica la partición donde "Year=2018" and "Month=01" y la partición donde "Year=2018" and "Month=02".

      { "version":"0", "id":"abcdef00-1234-5678-9abc-def012345678", "detail-type":"Glue Data Catalog Table State Change", "source":"aws.glue", "account":"123456789012", "time":"2017-09-07T18:57:21Z", "region":"us-west-2", "resources":["arn:aws:glue:us-west-2:123456789012:database/default/foo"], "detail":{ "changedPartitions": [ "2018,01", "2018,02" ], "databaseName": "default", "tableName": "foo", "typeOfChange": "BatchCreatePartition" } }

Para obtener más información, consulte la Guía del usuario de Amazon CloudWatch Events. Para eventos específicos de AWS Glue consulte Eventos de AWS Glue.