Quiero recibir una notificación cuando un trabajo de extracción, transformación y carga (ETL) de AWS Glue se realice correctamente, falle, se agote el tiempo de espera o se detenga.
Descripción breve
Cree y suscríbase a un tema de Amazon Simple Notification Service (Amazon SNS). A continuación, cree una regla de eventos de Amazon EventBridge para cada cambio de estado que desee supervisar.
Nota: Para este tema, se recomienda utilizar Amazon EventBridge en lugar de Amazon CloudWatch.
Resolución
Cree y suscríbase a un tema de Amazon SNS
1. Abra la consola de Amazon SNS.
2. Seleccione Topics (temas) y, a continuación, seleccione Create topic (crear tema).
3. Introduzca un nombre de tema. El campo Display name (mostrar nombre) es opcional.
4. Selecciona Create topic (crear tema).
5. Seleccione Subscriptions (suscripciones) en el panel de navegación. Luego elija Create subscription (crear suscripción).
6. En Details (detalles), complete los siguientes campos:
Para Topic ARN (tema ARN), elija el ARN del tema que creó.
En Protocol (protocolo), elija Email (correo electrónico).
Para Endpoint (punto de conexión), introduzca la dirección de correo electrónico a la que quiere que se envíen las notificaciones.
7. Seleccione Create subscription (crear suscripción).
8. Compruebe su cuenta de correo electrónico y espere a recibir un mensaje de confirmación de la suscripción. Cuando lo reciba, seleccione el enlace Confirm subscription (confirmar suscripción).
Cree una regla de eventos de EventBridge
1. Abra la consola de EventBridge.
2. En el panel de navegación, seleccione Rules (reglas), y luego seleccione Create rule (crear regla).
3. Ingrese un nombre para su regla. Deje los demás campos como selecciones predeterminadas y, a continuación, seleccione Next (siguiente).
4. Desplácese hacia abajo hasta la sección Create method (crear método) y seleccione Custom pattern (JSON editor) (patrón personalizado, editor JSON).
5. En el cuadro Event pattern (patrón de eventos), introduzca un código similar al siguiente. Sustituya job_name por el nombre de su trabajo de ETL de AWS Glue. Para state (estado), introduzca el cambio de estado sobre el que desea que se le notifique (CORRECTO, FALLIDO, SE HA AGOTADO EL TIEMPO DE ESPERA o SE HA DETENIDO). Cree reglas de eventos independientes para cada cambio de estado que desee supervisar:
{
"detail-type": "Glue Job State Change",
"source": "aws.glue",
"detail": {
"jobName": "MyJob",
"state": "SUCCEEDED"
}
}
6. Seleccione Next (siguiente). Esto lo lleva a la página Select target(s) (seleccione objetivos).
7. Para Target types (tipos de objetivo), elija AWS service (servicio de AWS). A continuación, seleccione el tema de SNS de la lista desplegable.
8. En la lista desplegable Topic (tema), elija el nombre del tema de SNS que creó anteriormente.
9. Seleccione Next (siguiente). Esto lo lleva a la páginaConfigure tags - optional (configurar etiquetas: opcional). Seleccione Next (siguiente) y, a continuación, seleccione Create rule (crear regla).
Para probar la regla de eventos y el tema de SNS, ejecute un trabajo de AWS Glue. Compruebe que recibe una notificación por correo electrónico cuando el trabajo cambie al estado que especificó en la regla de eventos.
Información relacionada
¿Cómo puedo utilizar una función de AWS Lambda para recibir alertas de SNS cuando un trabajo de AWS Glue falla un reintento?
¿Cómo puedo iniciar automáticamente un trabajo de AWS Glue cuando se completa la ejecución de un rastreador?
Automatización de AWS Glue con CloudWatch Events
Eventos de AWS Glue