Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Amazon Simple Queue Service como origem no EventBridge Pipes

Modo de foco
Amazon Simple Queue Service como origem no EventBridge Pipes - Amazon EventBridge

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

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

É possível usar o EventBridge Pipes para receber registros de um agente de mensagens do Amazon SQS. Opcionalmente, é possível filtrar ou aprimorar esses registros antes de enviá-los para um destino disponível para processamento.

É possível usar um pipe para processar mensagens em uma fila do Amazon Simple Queue Service (Amazon SQS). O EventBridge Pipes é compatível com filas padrão e filas de primeiro a chegar, primeiro a sair (FIFO). Com o Amazon SQS, você pode descarregar tarefas de um componente do aplicativo enviando-as a uma fila e processando-as de forma assíncrona.

O EventBridge sonda a fila e invoca seu pipe de forma síncrona com um evento que contém mensagens da fila. O EventBridge lê mensagens em lotes e invoca seu pipe uma vez para cada lote. Quando sua função processa com êxito um lote, o EventBridge exclui suas mensagens da fila.

Por padrão, o EventBridge pesquisará até dez mensagens em sua fila simultaneamente e envia esse lote para seu pipe. Para evitar invocar a função com um número pequeno de registros, você pode instruir à origem dos eventos para fazer o buffer dos registros por até cinco minutos, configurando uma janela de lote. Antes de invocar o pipe, o EventBridge continua a pesquisar mensagens da fila padrão do Amazon SQS até que uma dessas coisas ocorra:

  • A janela de lotes expira.

  • A cota de tamanho da carga útil de invocação foi atingida.

  • O tamanho máximo do lote configurado foi atingido.

nota

Se estiver usando uma janela em lote e sua fila do Amazon SQS contiver um volume baixo de tráfego, o EventBridge poderá esperar até 20 segundos antes de invocar sua função. Isto será válido mesmo se definir uma janela de lote inferior a 20 segundos. Para as filas FIFO, os registros contêm atributos adicionais relacionados a desduplicação e sequenciamento.

Quando o EventBridge faz a leitura de um lote, as mensagens permanecem na fila, mas são ocultadas durante o tempo limite de visibilidade da fila. Se seu pipe processar com êxito um lote, o EventBridge excluirá as mensagens da fila. Por padrão, se seu pipe se deparar com um erro durante o processamento de um lote, todas as mensagens naquele lote ficarão visíveis na fila novamente. Por conta disso, seu pipe deve ter a capacidade de processar a mesma mensagem várias vezes sem causar efeitos colaterais não intencionais. É possível modificar esse comportamento de reprocessamento incluindo falhas de item de lote na resposta do pipe. O exemplo a seguir mostra um evento para um lote de duas mensagens.

Eventos de exemplo

O exemplo de evento a seguir mostra as informações recebidas pelo pipe. É possível usar esse evento para criar e filtrar seus padrões de eventos ou para definir a transformação de entrada. Nem todos os campos podem ser filtrados. Para mais informações sobre quais campos podem ser filtrados, consulte Filtragem de eventos no Amazon EventBridge Pipes.

Fila padrão

[ { "messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "body": "Test message.", "attributes": { "ApproximateReceiveCount": "1", "SentTimestamp": "1545082649183", "SenderId": "AIDAIENQZJOLO23YVJ4VO", "ApproximateFirstReceiveTimestamp": "1545082649185" }, "messageAttributes": {}, "md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "eventSource": "aws:sqs", "eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "awsRegion": "us-east-2" }, { "messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "body": "Test message.", "attributes": { "ApproximateReceiveCount": "1", "SentTimestamp": "1545082650636", "SenderId": "AIDAIENQZJOLO23YVJ4VO", "ApproximateFirstReceiveTimestamp": "1545082650649" }, "messageAttributes": {}, "md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "eventSource": "aws:sqs", "eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "awsRegion": "us-east-2" } ]

Fila FIFO

[ { "messageId": "11d6ee51-4cc7-4302-9e22-7cd8afdaadf5", "receiptHandle": "AQEBBX8nesZEXmkhsmZeyIE8iQAMig7qw...", "body": "Test message.", "attributes": { "ApproximateReceiveCount": "1", "SentTimestamp": "1573251510774", "SequenceNumber": "18849496460467696128", "MessageGroupId": "1", "SenderId": "AIDAIO23YVJENQZJOL4VO", "MessageDeduplicationId": "1", "ApproximateFirstReceiveTimestamp": "1573251510774" }, "messageAttributes": {}, "md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "eventSource": "aws:sqs", "eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:fifo.fifo", "awsRegion": "us-east-2" } ]

Escalabilidade e processamento

Para filas padrão, o EventBridge usa a sondagem longa para sondar uma fila até que ela se torne ativa. Quando mensagens estão disponíveis, o EventBridge faz a leitura de até cinco lotes e os envia ao seu pipe. Se ainda houver mensagens disponíveis, o EventBridge aumentará o número de processos de leitura de lotes em até 300 instâncias a mais por minuto. O número máximo de lotes que um pipe pode processar simultaneamente é mil.

Em filas FIFO, o EventBridge envia mensagens para o seu lote na ordem em que as recebe. Ao enviar uma mensagem para uma fila do FIFO, você especifica umID do grupo de mensagens. O Amazon SQS facilita a entrega de mensagens no mesmo grupo para o EventBridge, em ordem. O EventBridge classifica as mensagens recebidas em grupos e envia apenas um lote de cada vez para um grupo. Se seu pipe retornar um erro, ele fará todas as tentativas possíveis nas mensagens afetadas antes que o EventBridge receba mensagens adicionais do mesmo grupo.

Como configurar uma fila a ser usada com o EventBridge Pipes

Crie uma fila do Amazon SQS para servir como uma origem para seu pipe. Depois, configure a fila para permitir que a sua função do Lambda processe cada lote de eventos e que o EventBridge tentar novamente em resposta a erros de controle de utilização à medida que aumenta a escala verticalmente.

Para permitir que o pipe tenha tempo para processar cada lote de registros, defina o tempo limite de visibilidade da fila de origem para pelo menos seis vezes o runtime combinado do enriquecimento do pipe e dos componentes de destino. O tempo extra permite que o EventBridge repita o processo se seu pope for limitado durante o processamento de um lote anterior.

Se a sua função não conseguir processar uma mensagem várias vezes, o Amazon SQS poderá enviá-la para uma fila de mensagens não entregues. Quando seu pipe retorna um erro, o EventBridge a mantém na fila. Depois que o tempo limite de visibilidade ocorrer, o EventBridge recebe a mensagem novamente. Para enviar mensagens para uma segunda fila após vários recebimentos, configure uma fila de mensagens mortas na fila de origem.

nota

Certifique-se de configurar a fila de mensagens não entregues na fila de origem, e não no pipe. A fila de mensagens não entregues configurada em uma função é usada para a fila de invocação assíncrona da função, e não para filas de origem de evento.

Se seu pipe retornar um erro ou não puder ser invocada porque está na simultaneidade máxima, o processamento poderá ter êxito com tentativas adicionais. Para que as mensagens tenham mais chances de serem processadas antes de serem enviadas para a fila de mensagens não entregues, defina a maxReceiveCount na política de redirecionamento da fila de origem como pelo menos 5.

Gerar relatórios de falhas de itens de lote

Quando o EventBridge consome e processa dados de streaming de uma origem, ele definirá checkpoints por padrão no número mais elevado na sequência de um lote, mas somente quando o lote tiver êxito total. Para evitar o reprocessamento de todas as mensagens processadas com êxito em um lote com falha, é possível configurar o enriquecimento ou o destino para retornar um objeto indicando quais mensagens tiveram êxito e quais falharam. Isso se chama resposta parcial em lote.

Para ter mais informações, consulte Lote com falha parcial.

Condições de sucesso e falha

Se retornar qualquer um dos seguintes, o EventBridge tratará um lote como um êxito total:

  • Uma lista de batchItemFailure vazia

  • Uma lista de batchItemFailure nula

  • Uma EventResponse vazia

  • Uma EventResponse nula

Se retornar qualquer um dos seguintes, o EventBridge tratará um lote como uma falha total:

  • Uma string itemIdentifier vazia

  • Uma itemIdentifier nula

  • Um itemIdentifier com um nome de chave inválido

O EventBridge faz novas tentativas após falhas com base na sua estratégia de repetição.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.