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á.
A ação do Lambda chama seu código por meio de uma função do Lambda e, opcionalmente, o notifica por meio do Amazon SNS. Essa ação tem as seguintes opções e requisitos.
Opções
-
Lambda function (Função do Lambda): o ARN da função do Lambda. Um exemplo de ARN da função Lambda é arn:aws:lambda:us-east-1:account-id:function:. MyFunction
-
Invocation type (Tipo de invocação): o tipo de invocação da função do Lambda. Um tipo de invocação RequestResponsesignifica que a execução da função resulta em uma resposta imediata. Um tipo de invocação de Event (Evento) significa que a função é invocada de forma assíncrona. Recomendamos que você use o tipo de invocação Event (Evento), a menos que a execução síncrona seja necessária para seu caso de uso.
Existe um tempo limite de 30 segundos nas invocações de RequestResponse.
Para obter mais informações, consulte Invocar funções do Lambda no Guia do desenvolvedor do AWS Lambda .
-
SNS Topic (Tópico SNS): o nome ou o ARN do tópico do Amazon SNS a ser notificado quando a função do Lambda especificada for acionada. Um exemplo de ARN de tópico do Amazon SNS é arn:aws:sns:us-east- 1:123456789012:. MyTopic Para obter mais informações, consulte Criação de um tópico do Amazon SNS no Guia do desenvolvedor do Amazon Simple Notification Service.
Requisitos
-
A função Lambda que você escolher deve estar na mesma AWS região do endpoint do Amazon SES que você usa para receber e-mails.
-
O tópico do Amazon SNS que você escolher deve estar na mesma AWS região do endpoint do Amazon SES que você usa para receber e-mails.
Redação de sua função do Lambda
Para processar seus e-mails, sua função do Lambda pode ser invocada de forma assíncrona (ou seja, usando o tipo de invocação Event
). O objeto de evento passado para a função do Lambda conterá metadados relativos ao evento de e-mail de entrada. Você também pode usar os metadados para acessar o conteúdo da mensagem a partir de seu bucket do Amazon S3.
Se você deseja realmente controlar o fluxo de e-mails, sua função do Lambda deve ser invocada de forma síncrona (ou seja, usando o tipo de invocação RequestResponse
) e sua função do Lambda deve chamar o método callback
com dois argumentos: o primeiro argumento é null
e o segundo argumento é uma propriedade disposition
que é definida como STOP_RULE
, STOP_RULE_SET
ou CONTINUE
. Se o segundo argumento for null
ou não tiver uma propriedade disposition
válida, o fluxo de e-mails continuará e outras ações e regras serão processados, que é o mesmo com CONTINUE
.
Por exemplo, você pode interromper o conjunto de regras de recebimento aescrevendo a seguinte linha no final do código da função do Lambda:
callback( null, { "disposition" : "STOP_RULE_SET" });
Para exemplos AWS Lambda de código, consulteExemplos de função do Lambda. Para obter exemplos de casos de uso de alto nível, consulte Exemplos de casos de uso.
Formato de entrada
O Amazon SES passa informações para a função do Lambda no formato JSON. O objeto de nível superior contém uma matriz Records
, que é preenchida com as propriedades eventSource
, eventVersion
e ses
. O objeto ses
contém os objetos receipt
e mail
, que estão exatamente no mesmo formato que nas notificações do Amazon SNS notificações descritas em Conteúdo das notificações .
Os dados que o Amazon SES passa para o Lambda incluem metadados sobre a mensagem, bem como vários cabeçalhos de e-mail. No entanto, não contêm o corpo da mensagem.
Veja a seguir uma visão de alto nível da estrutura da entrada que o Amazon SES fornece para a função do Lambda.
{
"Records": [
{
"eventSource": "aws:ses",
"eventVersion": "1.0",
"ses": {
"receipt": {
<same contents as SNS notification>
},
"mail": {
<same contents as SNS notification>
}
}
}
]
}
Valores de retorno
Sua função do Lambda pode controlar o fluxo de e-mails retornando um dos seguintes valores:
-
STOP_RULE
– nenhuma ação adicional na regra de recebimento atual será processada, mas é possível processar mais regras de recebimento. -
STOP_RULE_SET
– nenhuma ação ou regras de recebimento adicionais serão processadas. -
CONTINUE
ou qualquer outro valor inválido – isso significa que ações e regras de recebimento adicionais podem ser processadas.