Ir para o conteúdo

Como personalizo a linha de assunto de e-mail padrão do Amazon SNS?

3 minuto de leitura
0

Quero personalizar a linha de assunto de e-mail padrão "Mensagem de notificação da AWS" do Amazon Simple Notification Service (Amazon SNS) para uma notificação do Amazon EventBridge.

Breve descrição

O Amazon SNS recebe notificações de uma regra do EventBridge criada com os serviços da AWS como origem de eventos para entrega por e-mail. Não é possível alterar diretamente a linha de assunto do e-mail Mensagem de Notificação da AWS se algum serviço da AWS acionar o tópico do Amazon SNS que tem a assinatura de e-mail.

Resolução

Crie uma função do AWS Lambda para personalizar a linha de assunto padrão do e-mail. É possível usar o Lambda em vez do tópico do Amazon SNS como destino da regra do EventBridge. Em seguida, use a função do Lambda para publicar mensagens com linha de assunto de e-mail personalizado para o tópico do Amazon SNS com os assinantes.

Criar um tópico do SNS e uma assinatura de e-mail

Crie um tópico do SNS e, em seguida, crie uma assinatura de e-mail.

Criar um perfil do IAM para a função do Lambda

Para criar um perfil do AWS Identity and Access Management (AWS IAM) para a função do Lambda, conclua as seguintes etapas:

  1. Abra o console do IAM.
  2. No painel de navegação, escolha Perfis e depois Criar perfil.
  3. Escolha a lista suspensa Serviço ou caso de uso, escolha Lambda e, em seguida, Avançar.
  4. Na página Adicionar permissões, anexe as políticas AWSLambdaBasicExecutionRole and AmazonSNSFullAccess ao perfil e escolha Avançar.
    Importante: a política gerenciada AmazonSNSFullAccess fornece acesso total ao Amazon SNS. É uma prática recomendada seguir o princípio de privilégio mínimo.
  5. Em Nome do perfil, insira um nome para o perfil e escolha Criar perfil.

Crie a função do Lambda

Conclua as etapas a seguir:

  1. Abra a página Funções do console do Lambda.

  2. Escolha Criar função.

  3. Selecione Criar do zero.

  4. Em Nome da função, insira um nome para a função.

  5. Escolha a lista suspensa Runtime e selecione Python 3.13.

  6. Expanda Alterar perfil de execução padrão e escolha Usar um perfil existente.

  7. Escolha a lista suspensa Perfil existente e, em seguida, escolha o perfil que você criou anteriormente.

  8. Escolha Criar função.

  9. No editor de código da função, insira o seguinte trecho de código em Python:

    import boto3
    import json
    sns_arn = "sns_topic_arn"
    
    def lambda_handler(event, context):
        client = boto3.client("sns")
        resp = client.publish(TargetArn=sns_arn, Message=json.dumps(event), Subject="This is the customized subject line")

    Observação: substitua sns_topic_arn pelo nome do recurso da Amazon (ARN) do tópico em Criar um tópico do SNS e notificação por e-mail. Substitua "Esta é a linha de assunto personalizada" pela sua própria linha de assunto, entre aspas.

  10. Escolha Implantar.

Criar uma regra do EventBridge

Siga estas instruções para criar uma regra do EventBridge.

Observação:

  • para a etapa 11 na documentação da AWS, Selecionar um destino, escolha a função do Lambda que você criou anteriormente.
  • Forneça a mensagem de carga útil desejada para sua função do Lambda.

Quando a regra do EventBridge é invocada, a função do Lambda faz uma chamada de API publish para o Amazon SNS. Ele encaminha a mensagem da regra do evento e altera a linha de assunto usada para entregar a mensagem. O assinante então recebe o e-mail com a linha de assunto personalizada em sua caixa de correio.

Informações relacionadas

Como uso o Lambda e o Amazon SES para enviar e-mails?

AWS OFICIALAtualizada há 5 meses