Como posso receber notificações do Amazon SNS quando meu trabalho no AWS Glue muda de estado?

Data da última atualização: 01/02/2023

Quero receber uma notificação quando um trabalho de extração, transformação e carregamento (ETL) do AWS Glue for bem-sucedido, falhar, atingir o tempo limite ou parar.

Breve descrição

Crie e assine um tópico do Amazon Simple Notification Service (Amazon SNS). Em seguida, crie uma regra de evento do Amazon EventBridge para cada mudança de estado que você deseja monitorar.

Observação: para esse problema, é uma boa prática usar o Amazon EventBridge em vez do Amazon CloudWatch.

Resolução

Criar e assinar um tópico do Amazon SNS

1.    Abra o console do Amazon SNS.

2.    Selecione Tópicos e escolha Criar tópico.

3.    Insira um Nome de tópico. O campo Nome de exibição é opcional.

4.    Selecione Criar tópico.

5.    Selecione Assinaturas no painel de navegação. Após, escolha Criar assinatura.

6.    Em Detalhes, preencha os seguintes campos:

        Em ARN do tópico, escolha o ARN do tópico que você criou.

        Em Protocolo, escolha E-mail.

        Em Endpoint, insira o endereço de e-mail para o qual você deseja que as notificações sejam enviadas.

7.    Selecione Criar assinatura.

8.    Verifique sua conta de e-mail e aguarde até receber uma mensagem de e-mail de confirmação da assinatura. Ao recebê-lo, selecione o link Confirmar assinatura.

Criar uma regra de evento do EventBridge

1.    Abra o console do EventBridge.

2.    No painel de navegação, selecione Regras e Criar regra.

3.    Insira um nome para sua regra. Deixe os outros campos como suas seleções padrão e selecione Avançar.

4.    Role para baixo até a seção Método de criação e escolha Padrão personalizado (editor JSON).

5.    Na caixa Padrão de eventos, insira um código semelhante ao seguinte. Substitua job_name pelo nome do seu trabalho de ETL do AWS Glue. Em estado, insira o estado alterado sobre o qual você deseja ser notificado (SUCCEEDED, FAILED, TIMEOUT ou STOPPED). Crie mais regras de eventos para cada mudança de estado que você deseja monitorar:

{
  "detail-type": "Glue Job State Change",
  "source": "aws.glue",
  "detail": {
    "jobName": "MyJob",
    "state": "SUCCEEDED"
  }
}

6.    Clique em Próximo. Isso leva você à página Selecionar destino(s).

7.    Em Tipos de destino, escolha Serviço da AWS. Após, escolha o tópico SNS na lista suspensa.

8.    Na lista suspensa Tópico, escolha o nome do tópico do SNS que você criou anteriormente.

9.    Clique em Próximo. Isso leva você à página Configurar tags (opcional). Selecione Avançar e escolha Criar regra.

Para testar a regra do evento e o tópico do SNS, execute um trabalho do AWS Glue. Verifique se você recebe uma notificação por e-mail quando o trabalho muda para o estado especificado na regra do evento.