Quero receber um aviso quando um trabalho de extração, transformação e carregamento (ETL) do AWS Glue obtiver êxito, falhar, expirar ou parar.
Breve descrição
Para receber um aviso quando seu trabalho do AWS Glue mudar de status, conclua as seguintes etapas:
- Crie um tópico do Amazon Simple Notification Service (Amazon SNS). O tópico do SNS envia mensagens para endpoints ou clientes assinantes.
- Crie uma regra de evento do Amazon EventBridge para as alterações de estado de trabalhos do AWS Glue que você deseja monitorar.
Resolução
Observação: quando seu trabalho muda de status, o AWS Glue produz eventos. Para obter mais informações, consulte AWS Glue job run statuses.
Crie e assine um tópico do Amazon SNS
1. Abra o console do Amazon SNS.
2. No painel de navegação, selecione Tópicos.
3. Selecione Criar tópico.
4. Em Tipo, selecione Padrão.
5. Insira o Nome do tópico. O campo Nome de exibição é opcional.
6. Selecione Criar tópico.
7. No painel de navegação, selecione Assinaturas.
8. Selecione Criar assinatura.
9. Em Detalhes, preencha os seguintes campos:
Em ARN do tópico, selecione o ARN do tópico que você criou.
Em Protocolo, selecione E-mail.
Em Endpoint, insira o endereço de e-mail para o qual você deseja enviar notificações.
10. Selecione Criar assinatura.
No e-mail de confirmação da assinatura recebido por você, selecione Confirmar assinatura. Anote o tópico do SNS criado. Use este tópico ao criar a regra do EventBridge.
Crie uma regra de evento do EventBridge
1. Abra o console do EventBridge.
2. No painel de navegação, selecione Regras, em seguida, selecione Criar regra.
3. Insira um Nome para sua regra. Mantenha as configurações padrão de Barramento de eventos e Tipo de regra e, em seguida, selecione Avançar.
4. Em Método de criação, Selecione Padrão personalizado (editor JSON).
5. Na caixa Padrão do evento, insira o seguinte exemplo de padrão de evento para capturar eventos de alteração de estado do AWS Glue:
{
"detail-type": [
"Glue Job State Change",
"Glue Job Run Status"
],
"source": [
"aws.glue"
],
"detail": {
"state": [
"FAILED",
"SUCCEEDED",
"TIMEOUT",
"STOPPED",
"RUNNING",
"STARTING",
"STOPPING"
]
}
}
Dica: se você não quiser receber um aviso sobre alterações de status específicas, remova o parâmetro correspondente, como RUNNING, do padrão do evento.
6. Escolha Avançar.
7. Para Tipos de destino, selecione o serviço da AWS.
8. Em Selecionar um destino, selecione Tópico do SNS.
9. Em Tópico, selecione o nome do tópico do SNS que você criou.
10. Selecione Avançar.
11. (Opcional) Insira tags para a regra e selecione Avançar.
12. Selecione Criar regra.
Para obter mais informações, consulte Creating event patterns e Automating AWS Glue with Amazon CloudWatch Events.
Teste sua configuração
Para testar a regra do evento e o tópico do SNS, execute um trabalho do AWS Glue. Depois que o trabalho mudar para o estado especificado na regra do evento, confirme se você recebeu uma notificação por e-mail.
Importante: se a regra não estiver em execução, verifique se o padrão do evento está correto.
Exemplo
Você pode capturar eventos de Falha na execução do trabalho e enviar o evento para um tópico do SNS. Veja a seguir um exemplo de evento de falha em trabalho do Glue:
{
"version": "0",
"id": "abcdef01-1234-5678-9abc-def012345678",
"detail-type": "Glue Job State Change",
"source": "aws.glue",
"account": "123456789012",
"time": "2017-09-07T06:02:03Z",
"region": "us-west-2",
"resources": [],
"detail": {
"jobName": "MyJob",
"severity": "ERROR",
"state": "FAILED",
"jobRunId": "jr_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"message": "JobName:MyJob and JobRunId:jr_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef failed to run with exception Role arn:aws:iam::123456789012:role/Glue_Role should be given assume role permissions for Glue Service."
}
}
Para analisar todos os trabalhos com falha do AWS Glue, conclua as etapas anteriores.
Informações relacionadas
How can I use an AWS Lambda function to receive SNS alerts when an AWS Glue job fails a retry?
Como posso iniciar automaticamente um trabalho do AWS Glue quando a execução de um crawler for concluída?
Events from AWS services