

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Pausar automaticamente o envio de e-mails para um conjunto de configurações
<a name="monitoring-sender-reputation-pausing-configuration-set"></a>

Você pode configurar o Amazon SES para exportar métricas de reputação específicas para e-mails enviados usando uma configuração específica definida para a Amazon CloudWatch. Em seguida, você pode usar essas métricas para criar CloudWatch alarmes específicos para esses conjuntos de configurações. Quando esses alarmes excedem certos limites, você pode pausar automaticamente o envio de e-mails que usam os conjuntos de configurações específicos, sem afetar os recursos gerais de envio de e-mails da sua conta do Amazon SES.

**nota**  
A solução descrita nesta seção interrompe o envio de e-mails para uma configuração específica definida em uma única AWS região. Se você envia e-mails de várias regiões, repita os procedimentos desta seção para cada região na qual deseja implementar esta solução.

**Topics**
+ [Parte 1: habilitar relatórios de métricas de reputação em um conjunto de configurações](#monitoring-sender-reputation-pausing-configuration-set-part-1)
+ [Parte 2: criar uma função do IAM](#monitoring-sender-reputation-pausing-configuration-set-part-2)
+ [Parte 3: Criar a função do Lambda](#monitoring-sender-reputation-pausing-configuration-set-part-3)
+ [Parte 4: reativar o envio de e-mails para o conjunto de configurações](#monitoring-sender-reputation-pausing-configuration-set-part-4)
+ [Parte 5: Criar um tópico do Amazon SNS](#monitoring-sender-reputation-pausing-configuration-set-part-5)
+ [Parte 6: Criar um CloudWatch alarme](#monitoring-sender-reputation-pausing-configuration-set-part-6)
+ [Parte 7: testar a solução](#monitoring-sender-reputation-pausing-configuration-set-part-7)

## Parte 1: habilitar relatórios de métricas de reputação em um conjunto de configurações
<a name="monitoring-sender-reputation-pausing-configuration-set-part-1"></a>

Antes de poder configurar o Amazon SES para pausar automaticamente o envio de e-mails para um conjunto de configurações, você precisa primeiro habilitar a exportação de métricas de reputação para o conjunto de configurações.

Para permitir a exportação das métricas de devolução e de reclamação no conjunto de configurações, conclua as etapas em [Visualização e exportação de métricas de reputação](configuration-sets-export-metrics.md).

## Parte 2: criar uma função do IAM
<a name="monitoring-sender-reputation-pausing-configuration-set-part-2"></a>

A primeira etapa para configurar a pausa automática de envio de e-mail é criar uma função do IAM que possa executar a operação de API `UpdateConfigurationSetSendingEnabled`.

**Para criar perfil do IAM**

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, escolha **Perfis**.

1. Escolha **Criar Perfil**.

1. Em **Select type of trusted entity (Selecionar o tipo de entidade confiável)**, escolha **AWS service (serviço)**.

1. Em **Choose the service that will use this role** (Escolha o serviço que usará essa função), escolha **Lambda**. Escolha **Next: Permissions** (Próximo: Permissões).

1. Na página **Attach permissions policies** (Vincular políticas de permissões), escolha as políticas a seguir:
   + **AWS Lambda BasicExecutionRole**
   + **Amazon SESFull Access** (recomendamos que você use uma função personalizada adaptada às suas necessidades que inclua permissões para fazer chamadas [https://docs.aws.amazon.com/ses/latest/APIReference/API_UpdateConfigurationSetSendingEnabled.html](https://docs.aws.amazon.com/ses/latest/APIReference/API_UpdateConfigurationSetSendingEnabled.html).) 
**dica**  
Use a caixa de pesquisa na parte superior da lista de políticas para localizar rapidamente essas políticas.

   Selecione **Next: Review** (Próximo: revisão).

1. Na página **Review** (Revisão), em **Name** (Nome), digite um nome para a função. Selecione **Criar perfil**.

   

## Parte 3: Criar a função do Lambda
<a name="monitoring-sender-reputation-pausing-configuration-set-part-3"></a>

Depois de criar uma função do IAM, você pode criar a função do Lambda que pausa o envio de e-mails para o conjunto de configurações.

**Para criar a função do Lambda**

1. Abra o AWS Lambda console em [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Use o seletor de regiões para escolher a região onde você deseja implantar esta função do Lambda.
**nota**  
Essa função pausa o envio de e-mails somente para os conjuntos de configuração na região da AWS que você selecionar nesta etapa. Se você envia e-mails de mais de uma região, repita os procedimentos desta seção para cada região na qual deseja pausar automaticamente o envio de e-mails.

1. Escolha **Create function** (Criar função).

1. Em **Create function** (Criar função), escolha **Author from scratch** (Criar do zero).

1. Em **Author from scratch** (Criar do zero), execute as seguintes etapas:
   + Em **Name (Nome)**, digite um nome para a função do Lambda.
   + Em **Runtime** (Tempo de execução), escolha **Node.js 14x** (ou a versão atualmente oferecida na lista de seleção).
   + Em **Role** (Função), escolha **Choose an existing role** (Escolha uma função existente).
   + Em **Existing role (Funçao existente)**, escolha a função do IAM que você criou em [Parte 2: criar uma função do IAM](#monitoring-sender-reputation-pausing-configuration-set-part-2).

   Escolha a opção **Criar função**.

1. Em **Function code** (Código da função), no editor de código, cole o seguinte código:

   ```
   'use strict';
   
   import {
       SES
   }
   from 'aws-sdk';
   
   const ses = new SES();
   const configSet = 'CONFIG_SET_NAME_HERE';
   
   const params = {
       ConfigurationSetName: configSet,
       Enabled: false
   };
   
   export const handler = async (event) => {
       try {
           const data = await ses.updateConfigurationSetSendingEnabled(params).promise();
           
           console.log('Configuration Set Update:', data);
           
           return {
               statusCode: 200,
               body: JSON.stringify({
                   message: 'Successfully paused email sending for configuration set.',
                   data
               }),
           };
       }
       catch (err) {
           console.error('Error:', err.message);
           return {
               statusCode: 500,
               body: JSON.stringify({
                   message: 'Failed to pause email sending for configuration set.',
                   error: err.message
               }),
           };
       }
   };
   ```

   *ConfigSet*Substitua o código anterior pelo nome do conjunto de configurações. Escolha **Salvar**.

1. Escolha **Test** (Testar). Se a janela **Configure test event** (Configurar evento de teste) for exibida, digite um nome no campo **Event name** (Nome do evento) e escolha **Create** (Criar).

1.  Confirme se a barra de notificação na parte superior da página diz `Execution result: succeeded`. Se a função não for executada, faça o seguinte:
   + Verifique se a função do IAM que você criou em [Parte 2: criar uma função do IAM](#monitoring-sender-reputation-pausing-configuration-set-part-2) contém as políticas corretas.
   + Verifique se o código da função do Lambda não contém nenhum erro. O editor de código do Lambda automaticamente destaca os erros de sintaxe e outros problemas potenciais.

## Parte 4: reativar o envio de e-mails para o conjunto de configurações
<a name="monitoring-sender-reputation-pausing-configuration-set-part-4"></a>

Um efeito secundário do teste de função do Lambda em [Parte 3: Criar a função do Lambda](#monitoring-sender-reputation-pausing-configuration-set-part-3) é que o envio de e-mails para o conjunto de configurações é pausado. Na maioria dos casos, você não deseja pausar o envio do conjunto de configurações até que o CloudWatch alarme seja acionado.

Os procedimentos nesta seção reativam o envio de e-mails para o conjunto de configurações. Para concluir esses procedimentos, você deve instalar e configurar a AWS Command Line Interface. Para obter mais informações, consulte o [Guia do usuário do AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/).

**Para reativar o envio de e-mail**

1. Na linha de comando, digite o comando a seguir para reabilitar o envio de e-mails para o conjunto de configurações:

   ```
   aws ses update-configuration-set-sending-enabled \
   --configuration-set-name ConfigSet \
   --enabled
   ```

   No comando anterior, *ConfigSet* substitua pelo nome do conjunto de configurações para o qual você deseja pausar o envio de e-mail.

1. Na linha de comando, digite o comando a seguir para garantir que o envio de e-mails esteja habilitado:

   ```
   aws ses describe-configuration-set \
   --configuration-set-name ConfigSet \
   --configuration-set-attribute-names reputationOptions
   ```

   O comando produz saída semelhante ao seguinte exemplo:

   ```
   {                           
       "ConfigurationSet": {   
           "Name": "ConfigSet" 
       },
       "ReputationOptions": {
           "ReputationMetricsEnabled": true,
           "SendingEnabled": true
       }	
   }
   ```

   Se o valor de `SendingEnabled` for `true`, então, o envio de e-mails para o conjunto de configurações foi reativado com êxito.

## Parte 5: Criar um tópico do Amazon SNS
<a name="monitoring-sender-reputation-pausing-configuration-set-part-5"></a>

 CloudWatch Para executar a função Lambda quando um alarme é acionado, você deve primeiro criar um tópico do Amazon SNS e inscrever a função Lambda nele.

**Para criaro tópico do Amazon SNS**

1. [Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/ v3/home.](https://console.aws.amazon.com/sns/v3/home)

1. Use o seletor de regiões para escolher a região onde você deseja pausar automaticamente o envio de e-mails.

1. No painel de navegação, escolha **Topics** (Tópicos).

1. Selecione **Create new topic** (Criar novo tópico).

1. Na janela **Create new topic** (Criar novo tópico), em **Topic name** (Nome do tópico), digite um nome para o tópico. Opcionalmente, você pode digitar um nome mais descritivo no campo **Display name** (Nome de exibição).

   Escolha **Create topic** (Criar tópico).

1. Na lista de tópicos, marque a caixa ao lado do tópico que você criou na etapa anterior. No menu **Actions** (Ações), escolha **Subscribe to topic** (Assinar o tópico).

1. Na janela **Create subscription** (Criar inscrição), faça as seguintes seleções:
   + Para **Protocolo**, selecione **AWS Lambda**.
   + Em **Endpoint**, escolha a função do Lambda que você criou em [Parte 3: Criar a função do Lambda](#monitoring-sender-reputation-pausing-configuration-set-part-3).
   + Em **Version or alias** (Versão ou alias), escolha **default** (padrão).

1. Selecione **Criar assinatura**.

## Parte 6: Criar um CloudWatch alarme
<a name="monitoring-sender-reputation-pausing-configuration-set-part-6"></a>

Esta seção contém procedimentos para criar um alarme CloudWatch que é acionado quando uma métrica atinge um determinado limite. Quando o alarme é acionado, ele envia uma notificação ao tópico do Amazon SNS criado em [Parte 5: Criar um tópico do Amazon SNS](#monitoring-sender-reputation-pausing-configuration-set-part-5) que, então, executa a função do Lambda criada em [Parte 3: Criar a função do Lambda](#monitoring-sender-reputation-pausing-configuration-set-part-3).

**Para criar um CloudWatch alarme**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Use o seletor de regiões para escolher a região onde você deseja pausar automaticamente o envio de e-mails.

1. No painel de navegação à esquerda, escolha **Alarms** (Alarmes).

1. Escolha **Criar Alarm**.

1. Na janela **Create Alarm** (Criar alarme), em **SES Metrics** (Métricas do SES), escolha **Configuration Set Metrics** (Métricas de conjunto de configurações).

1. Na coluna **ses:configuration-set**, localize o conjunto de configurações para o qual deseja criar um alarme. Em **Metric Name** (Nome da métrica), escolha uma das opções a seguir:
   + **Reputação. BounceRate** — Escolha essa métrica se quiser pausar o envio de e-mail para o conjunto de configurações quando a taxa geral de rejeição total do conjunto de configurações ultrapassar um limite definido por você.
   + **Reputação. ComplaintRate** — Escolha essa métrica se quiser pausar o envio de e-mail para o conjunto de configurações quando a taxa geral de reclamação do conjunto de configurações ultrapassar um limite definido por você.

   Escolha **Próximo**.

1. Execute as etapas a seguir:
   + Em **Alarm Threshold** (Limite do alarme), para **Name** (Nome), digite um nome para o alarme.
   + Em **Whenever: Reputação. BounceRate**ou **sempre: Reputação. ComplaintRate**, especifique o limite que faz com que o alarme seja acionado.
**nota**  
Se a taxa geral de devolução para a sua conta do Amazon SES ultrapassar 10% ou se a taxa geral de reclamação para a sua conta do Amazon SES ultrapassar 0,5%, sua conta do Amazon SES é colocada sob revisão. Quando você especifica a taxa de rejeição ou reclamação que faz com que o CloudWatch alarme seja acionado, recomendamos que você use valores muito abaixo dessas taxas para evitar que sua conta seja analisada.
   + Em **Actions** (Ações), em **Whenever this alarm** (Sempre que este alarme), escolha **State is ALARM** (Estado é ALARME). Em **Send notification to (Enviar e-mail para)**, escolha o tópico do Amazon SNS que você criou em [Parte 5: Criar um tópico do Amazon SNS](#monitoring-sender-reputation-pausing-configuration-set-part-5).

   Escolha **Criar Alarm**.

## Parte 7: testar a solução
<a name="monitoring-sender-reputation-pausing-configuration-set-part-7"></a>

Agora você pode testar o alarme para verificar se ele executa a função do Lambda ao entrar no estado `ALARM`. Você pode usar a `SetAlarmState` operação na CloudWatch API para alterar temporariamente o estado do alarme.

Os procedimentos nesta seção são opcionais, mas é recomendável realizá-los para verificar se a solução está configurada corretamente de modo geral.

**Para testar a solução**

1. Na linha de comando, digite o comando a seguir para verificar o status de envio de e-mails para o conjunto de configurações:

   ```
   aws ses describe-configuration-set --configuration-set-name ConfigSet
   ```

   Se o envio estiver ativado para o conjunto de configurações, você verá o resultado seguir:

   ```
   {                           
       "ConfigurationSet": {   
           "Name": "ConfigSet" 
       },
       "ReputationOptions": {
           "ReputationMetricsEnabled": true,
           "SendingEnabled": true
       }	
   }
   ```

   Se o valor de `SendingEnabled` for `true`, o envio de e-mails está ativado no momento para o conjunto de configurações.

1. Na linha de comando, digite o comando a seguir para alterar temporariamente o estado do alarme para `ALARM`:

   ```
   aws cloudwatch set-alarm-state \
   --alarm-name MyAlarm \
   --state-value ALARM \
   --state-reason "Testing execution of Lambda function"
   ```

   *MyAlarm*Substitua o comando anterior pelo nome do alarme que você criou em[Parte 6: Criar um CloudWatch alarme](#monitoring-sender-reputation-pausing-configuration-set-part-6).
**nota**  
Ao executar esse comando, o status do alarme mudará de `OK` para `ALARM` e voltará para `OK` em alguns segundos. Você pode ver essas alterações de status na guia **Histórico** do alarme no CloudWatch console ou usando a [DescribeAlarmHistory](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html)operação.

1. Na linha de comando, digite o comando a seguir para verificar o status de envio de e-mails para o conjunto de configurações:

   ```
   aws ses describe-configuration-set \
   --configuration-set-name ConfigSet
   ```

   Se a função do Lambda for executada com êxito, a saída exibida será semelhante ao seguinte exemplo:

   ```
   {                           
       "ConfigurationSet": {   
           "Name": "ConfigSet" 
       },
       "ReputationOptions": {
           "ReputationMetricsEnabled": true,
           "SendingEnabled": false
       }	
   }
   ```

   Se o valor de `SendingEnabled` for `false`, o envio de e-mails para o conjunto de configurações é desabilitado, indicando que a função do Lambda foi executada com êxito.

1. Conclua as etapas em [Parte 4: reativar o envio de e-mails para o conjunto de configurações](#monitoring-sender-reputation-pausing-configuration-set-part-4) para reativar o envio de e-mails para o conjunto de configurações.