Configurar uma fila do Amazon SQS para acionar uma função do AWS Lambda - Amazon Simple Queue Service

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á.

Configurar uma fila do Amazon SQS para acionar uma função do AWS Lambda

Você pode usar uma função do Lambda para processar mensagens de uma fila do Amazon SQS. O Lambda sonda a fila e invoca sua função de forma síncrona, transmitindo um lote de mensagens como um evento.

Configuração do tempo limite de visibilidade

Defina o tempo limite de visibilidade da fila para pelo menos seis vezes o valor do tempo limite da função. Isso garante que o Lambda tenha tempo o suficiente para tentar novamente se uma função estiver travada em um lote anterior.

Como usar uma fila de mensagens não entregues (DLQ)

Especifique uma fila de mensagens não entregues para capturar mensagens que a função do Lambda não conseguir processar.

Como gerenciar várias filas e funções

Uma função do Lambda pode processar várias filas criando uma origem de eventos separada para cada fila. É possível associar várias funções do Lambda à mesma fila.

Permissões para filas criptografadas

Se você associar uma fila criptografada a uma função Lambda, mas o Lambda não sondar as mensagens, adicione a permissão kms:Decrypt para sua função de execução do Lambda.

Restrições

A fila e a função do Lambda devem estar na mesma Região da AWS.

Uma fila criptografada que usa a chave padrão (chave do KMS gerenciada pela AWS para Amazon SQS) não pode invocar uma função Lambda em outra Conta da AWS.

Para obter detalhes de implementação, consulte Como usar o AWS Lambda com o Amazon SQS no Guia do desenvolvedor do AWS Lambda.

Pré-requisitos

Para configurar os acionadores de função Lambda, você deve atender aos seguintes requisitos:

  • Se você usar um usuário, o perfil do Amazon SQS deverá incluir as seguintes permissões:

    • lambda:CreateEventSourceMapping

    • lambda:ListEventSourceMappings

    • lambda:ListFunctions

  • A função de execução do Lambda deve incluir as seguintes permissões:

    • sqs:DeleteMessage

    • sqs:GetQueueAttributes

    • sqs:ReceiveMessage

  • Se você associar uma fila criptografada a uma função Lambda, adicione a permissão kms:Decrypt à função de execução do Lambda.

Para obter mais informações, consulte Visão geral do gerenciamento de acesso no Amazon SQS.

Para configurar uma fila para acionar uma função Lambda (console)
  1. Abra o console do Amazon SQS em https://console.aws.amazon.com/sqs/.

  2. No painel de navegação, escolha Queues.

  3. Na página Queues (Filas), escolha a fila a ser configurada.

  4. Na página da fila, escolha a guia Lambda triggers (Acionadores do Lambda).

  5. Na página Lambda triggers (Acionadores do Lambda), escolha um acionador do Lambda.

    Se a lista não incluir o acionador do Lambda de que você precisa, escolha Configure Lambda function trigger (Configurar acionador da função Lambda). Insira o nome do recurso da Amazon (ARN) da função Lambda ou escolha um recurso existente. Em seguida, escolha Salvar.

  6. Escolha Salvar. O console salva a configuração e exibe a página Details (Detalhes) da fila.

    Na página Details (Detalhes), a guia Lambda triggers (Acionadores do Lambda) exibe a função Lambda e seu status. Demora aproximadamente um minuto para a função Lambda se associar à sua fila.

  7. Para verificar os resultados da configuração, você pode enviar uma mensagem à fila e, em seguida, visualizar a função Lambda acionada no console do Lambda.