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á.
Configurando AWS Lambda para a Amazon WorkMail
Use a ação Executar Lambda nas regras de fluxo de e-mails de entrada e saída para passar mensagens de e-mail que correspondam às regras para uma AWS Lambda função de processamento.
Escolha entre as seguintes configurações para uma ação Run Lambda na Amazon. WorkMail
- Configuração síncrona de Executar o
-
As mensagens de e-mail que correspondem à regra de fluxo são transmitidas para uma função do Lambda para processamento antes de serem enviadas ou entregues. Use essa configuração para modificar o conteúdo do e-mail. Você também pode controlar o fluxo de e-mails de entrada ou saída para diferentes casos de uso. Por exemplo, uma regra transmitida para uma função do Lambda pode bloquear a entrega de mensagens de e-mail confidenciais, remover anexos ou adicionar avisos de isenção de responsabilidade.
- Configuração assíncrona de Executar o Lambda
-
As mensagens de e-mail que correspondem à regra de fluxo são transmitidas para uma função do Lambda para processamento enquanto são enviadas ou entregues. Essa configuração não afeta a entrega de e-mail e é usada para tarefas como coletar métricas para mensagens de e-mail de entrada ou saída.
Independentemente de você escolher uma configuração síncrona ou assíncrona, o objeto de evento transmitido para a função do Lambda contém metadados para o evento de e-mail de entrada ou saída. Também é possível usar o ID da mensagem nos metadados para acessar o conteúdo completo da mensagem de e-mail. Para obter mais informações, consulte Recuperando o conteúdo da mensagem com AWS Lambda. Para obter mais informações sobre eventos de e-mail, consulte Dados de eventos do Lambda.
Para obter mais informações sobre as regras de fluxo de e-mails enviados e recebidos, consulte Gerenciar fluxos de e-mail. Para obter mais informações sobre o Lambda, consulte o Manual do desenvolvedor do AWS Lambda .
nota
Atualmente, as regras de fluxo de e-mail do Lambda fazem referência somente às funções do Lambda na mesma AWS Conta da AWS região e da organização Amazon WorkMail que está sendo configurada.
Começando a usar AWS Lambda para a Amazon WorkMail
Para começar a usar AWS Lambda com a Amazon WorkMail, recomendamos implantar a função WorkMail Hello World Lambda
Se você optar por criar sua própria função Lambda, deverá configurar as permissões usando o AWS Command Line Interface ()AWS CLI. Para usar o seguinte comando de exemplo, faça como a seguir:
-
Substitua
MY_FUNCTION_NAME
pelo nome da sua função do Lambda. -
REGION
Substitua pela sua WorkMail AWS região da Amazon. As WorkMail regiões disponíveis da Amazon incluemus-east-1
(Leste dos EUA (Norte da Virgínia)),us-west-2
(Oeste dos EUA (Oregon)) eeu-west-1
(Europa (Irlanda)). -
Substitua
AWS_ACCOUNT_ID
pelo seu ID de Conta da AWS de 12 dígitos. -
WORKMAIL_ORGANIZATION_ID
Substitua pelo ID da sua WorkMail organização na Amazon. Você pode encontrá-lo no cartão da sua organização na página Organizações.
aws --region
REGION
lambda add-permission --function-nameMY_FUNCTION_NAME
--statement-id AllowWorkMail --action "lambda:InvokeFunction" --principal workmail.REGION
.amazonaws.com --source-arn arn:aws:workmail:REGION:AWS_ACCOUNT_ID
:organization/WORKMAIL_ORGANIZATION_ID
Para obter mais informações sobre como usar o AWS CLI, consulte o Guia AWS Command Line Interface do usuário.
Configurar regras síncronas de Executar o Lambda
Para configurar uma regra síncrona de Executar o Lambda, crie uma regra de fluxo de e-mail com a ação Executar o Lambda e marque a caixa de seleção Executar de forma síncrona. Para obter mais informações sobre como criar regras de fluxo de e-mail, consulte Criar uma regra de fluxo de e-mail.
Para concluir a criação da regra síncrona, adicione o Lambda Amazon Resource ARN Name () e configure as seguintes opções.
- Ação de fallback
-
A ação que a Amazon WorkMail aplica se a função Lambda não for executada. Essa ação também se aplica a qualquer destinatário que seja omitido da resposta do Lambda se o sinalizador não estiver definido. allRecipients A Ação de fallback não pode ser outra ação do Lambda.
- Tempo limite da regra (em minutos)
-
O período durante o qual a função Lambda é repetida se a Amazon WorkMail falhar em invocá-la. A Ação de fallback é aplicada no final desse período.
nota
Regras síncronas de Executar o Lambda oferecem suporte apenas à condição de destino *
.
Dados de eventos do Lambda
A função do Lambda é acionada usando os seguintes dados de evento. A apresentação dos dados varia dependendo da linguagem de programação usada para a função do Lambda.
{
"summaryVersion": "2018-10-10",
"envelope": {
"mailFrom" : {
"address" : "from@example.com
"
},
"recipients" : [
{ "address" : "recipient1@example.com
" },
{ "address" : "recipient2@example.com
" }
]
},
"sender" : {
"address" : "sender@example.com
"
},
"subject" : "Hello From Amazon WorkMail!
",
"messageId": "00000000-0000-0000-0000-000000000000
",
"invocationId": "00000000000000000000000000000000
",
"flowDirection": "INBOUND",
"truncated": false
}
O evento JSON inclui os seguintes dados.
- summaryVersion
O número da versão para
LambdaEventData
. Isso só é atualizado quando você faz uma alteração incompatível com versões anteriores noLambdaEventData
.- envelope
-
O envelope da mensagem de e-mail, que inclui os campos a seguir:
- mailFrom
-
O endereço De, que normalmente corresponde ao endereço de e-mail do usuário que enviou a mensagem. Se o usuário enviou a mensagem de e-mail como outro usuário ou em nome de outro usuário, o mailFromcampo retornará o endereço de e-mail do usuário em cujo nome a mensagem de e-mail foi enviada, não o endereço de e-mail do remetente real.
- recipients
-
Uma lista de endereços de e-mail dos destinatários. A Amazon WorkMail não faz distinção entre To, CC ou BCC.
nota
Para regras de fluxo de e-mail de entrada, essa lista inclui destinatários em todos os domínios da WorkMail organização da Amazon na qual você criou a regra. A função Lambda é invocada separadamente para cada SMTP conversa do remetente, e o campo destinatários lista os destinatários dessa conversa. SMTP Destinatários com domínios externos não são incluídos.
- sender (remetente)
-
O endereço de e-mail do usuário que enviou a mensagem de e-mail em nome de outro usuário. Esse campo é definido somente quando uma mensagem de e-mail é enviada em nome de outro usuário.
- subject
-
A linha de assunto do e-mail. Truncado quando exceder o limite de 256 caracteres.
- messageId
Um ID exclusivo usado para acessar o conteúdo completo da mensagem de e-mail ao usar o Amazon WorkMail Message FlowSDK.
- invocationId
O ID de uma invocação exclusiva do Lambda. Esse ID permanece o mesmo quando uma função Lambda é chamada mais de uma vez para a mesma. LambdaEventData Use para detectar novas tentativas e evitar duplicações.
- flowDirection
Indica a direção do fluxo de e-mail, INBOUNDou OUTBOUND.
- truncado
-
Aplicável ao tamanho da carga útil, não ao tamanho da linha de assunto. Quando
true
, o tamanho da carga ultrapassa o limite de 128 KB. Portanto, a lista de destinatários é truncada para ater-se ao limite.
Esquema de resposta síncrona de Executar o Lambda
Quando uma regra de fluxo de e-mail com uma ação síncrona Executar Lambda corresponde a uma mensagem de e-mail de entrada ou saída, a Amazon WorkMail chama a função Lambda configurada e espera pela resposta antes de agir na mensagem de e-mail. A função do Lambda retorna uma resposta de acordo com um esquema predefinido que lista as ações, os tipos de ação, os parâmetros aplicáveis e os destinatários aos quais se aplica a ação.
O esquema a seguir é um exemplo de resposta síncrona de Executar o Lambda. As respostas variam de acordo com a linguagem de programação usada para a função do Lambda.
{
"actions": [
{
"action" : {
"type": "string
",
"parameters": { various
}
},
"recipients": [list of strings
],
"allRecipients": boolean
}
]
}
A resposta JSON inclui os seguintes dados.
- ação
-
A ação a ser executada para os destinatários.
- tipo
-
O tipo de ação. Os tipos de ação não são retornados para ações assíncronas de Executar o Lambda.
Os tipos de ação de regras de entrada incluem BOUNCE, DROP, DEFAULT, BYPASS_ SPAM _ CHECK e MOVEJUNK_TO_. Para obter mais informações, consulte Ações de regras para e-mails recebidos.
Os tipos de ação de regras externas incluem BOUNCEDROP, e. DEFAULT Para obter mais informações, consulte Ações de regras para e-mails enviados.
- parâmetros
-
Parâmetros de ação adicionais. Compatível com o tipo de BOUNCEação como um JSON objeto com a string de chave bounceMessagee valor. Essa mensagem de devolução é usada para criar a mensagem de e-mail de devolução.
- recipients
-
Lista de endereços de e-mail nos quais a ação deve ser executada. É possível adicionar novos destinatários à resposta mesmo que eles não tenham sido incluídos na lista de destinatários original. Esse campo não é obrigatório se allRecipientsfor verdadeiro para uma ação.
nota
Quando uma ação do Lambda é chamada para e-mail de entrada, só é possível adicionar novos destinatários da sua organização. Os novos destinatários são adicionados à resposta como BCC.
- allRecipients
-
Quando verdadeiro, aplica a ação a todos os destinatários que não estão sujeitos a outra ação específica na resposta do Lambda.
Limites da ação síncrona de Executar o Lambda
Os seguintes limites se aplicam quando a Amazon WorkMail invoca funções do Lambda para ações síncronas do Run Lambda:
As funções do Lambda devem responder em até 15 segundos ou ser tratadas como invocações com falha.
nota
O sistema repete a invocação para o intervalo de Tempo limite da regra especificado por você.
Respostas da função do Lambda de até 256 KB são permitidas.
Até 10 ações exclusivas são permitidas na resposta. As ações maiores que 10 estão sujeitas à Ação de fallbackconfigurada.
Até 500 destinatários são permitidos para funções do Lambda de saída.
O valor máximo de Tempo limite da regra é 240 minutos. Se o valor mínimo de 0 estiver configurado, não haverá novas tentativas antes que a Amazon WorkMail aplique a ação de fallback.
Falhas na ação síncrona de Executar o Lambda
Se a Amazon não WorkMail conseguir invocar sua função do Lambda devido a um erro, resposta inválida ou tempo limite do Lambda, a WorkMail Amazon tentará novamente a invocação com um atraso exponencial que diminui a taxa de processamento até que o período de tempo limite da regra seja concluído. Depois, a Ação de fallback é aplicada a todos os destinatários da mensagem de e-mail. Para obter mais informações, consulte Configurar regras síncronas de Executar o Lambda .
Exemplos de resposta síncrona de Executar o Lambda
Os exemplos a seguir demonstram a estrutura de respostas síncronas comuns de Executar o Lambda.
exemplo : Remover destinatários especificados de uma mensagem de e-mail
O exemplo a seguir demonstra a estrutura de uma resposta síncrona de Executar o Lambda para remover destinatários de uma mensagem de e-mail.
{
"actions": [
{
"action": {
"type": "DEFAULT"
},
"allRecipients": true
},
{
"action": {
"type": "DROP"
},
"recipients": [
"drop-recipient@example.com
"
]
}
]
}
exemplo : Devolver com uma mensagem de e-mail personalizada
O exemplo a seguir demonstra a estrutura de uma resposta síncrona de Executar o Lambda para devolução de uma mensagem de e-mail personalizada.
{
"actions" : [
{
"action" : {
"type": 'BOUNCE',
"parameters": {
"bounceMessage" : "Email in breach of company policy.
"
}
},
"allRecipients": true
}
]
}
exemplo : Adicionar destinatários a uma mensagem de e-mail
O exemplo a seguir demonstra a estrutura de uma resposta síncrona de Executar o Lambda para adicionar destinatários à mensagem de e-mail. Isso não atualiza os campos Para nem CC da mensagem de e-mail.
{
"actions": [
{
"action": {
"type": "DEFAULT"
},
"recipients": [
"new-recipient@example.com
"
]
},
{
"action": {
"type": "DEFAULT"
},
"allRecipients": true
}
]
}
Mais informações sobre o uso do Lambda com a Amazon WorkMail
Também é possível acessar o conteúdo completo da mensagem de e-mail que aciona a função do Lambda. Para obter mais informações, consulte Recuperando o conteúdo da mensagem com AWS Lambda.