Como posso receber notificações do Amazon SNS para quando meu trabalho do AWS Glue mudar de estado?
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?
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos