Lotes e simultaneidade do Amazon 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á.

Lotes e simultaneidade do Amazon EventBridge Pipes

Comportamento de lotes

EventBridge O Pipes suporta o processamento em lotes desde a origem até os alvos que o suportam. Além disso, o processamento em lotes para enriquecimento é suportado para e. AWS Lambda AWS Step Functions Como serviços diferentes oferecem suporte a diferentes níveis de processamento de lotes, não é possível configurar um pipe com um tamanho de lote maior do que o suporte de destino. Por exemplo, as origens de fluxo do Amazon Kinesis são compatíveis com um tamanho máximo de lote de 10.000 registros, mas o Amazon Simple Queue Service é compatível com um máximo de dez mensagens por lote como destino. Portanto, um canal de um stream do Kinesis para uma SQS fila da Amazon pode ter um tamanho máximo de lote configurado na origem de 10.

Se configurar um pipe com um enriquecimento ou destino que seja compatível com o processamento de lotes, não será possível ativar o processamento de lotes na origem.

Quando o lote é ativado na fonte, matrizes de JSON registros são passadas pelo tubo e, em seguida, mapeadas para o lote API de um enriquecimento ou destino suportado. Os transformadores de entrada são aplicados separadamente em cada JSON registro individual na matriz, não na matriz como um todo. Para obter exemplos dessas matrizes, consulte Fontes da Amazon EventBridge Pipes e selecione uma origem específica. Os tubos usarão o lote API para o enriquecimento ou destino suportado, mesmo que o tamanho do lote seja 1. Se o enriquecimento ou o destino não tiver um lote, API mas receber JSON cargas completas, como Lambda e Step Functions, a JSON matriz inteira será enviada em uma única solicitação. A solicitação será enviada como uma JSON matriz, mesmo que o tamanho do lote seja 1.

Se um tubo estiver configurado para dosagem na origem e o destino suportar a dosagem, você poderá retornar uma variedade de JSON itens do seu enriquecimento. Esta matriz pode incluir uma matriz menor ou maior do que a origem original. No entanto, se a matriz for maior que o tamanho do lote compatível com o destino, o pipe não invocará o destino.

Destinos de processamento de lotes compatíveis

Destino Tamanho máximo do lote
CloudWatch Registros 10.000
EventBridge ônibus de eventos 10
Stream Firehose 500
Fluxo do Kinesis 500
Função do Lambda definido pelo cliente
Máquina de estado do Step Functions definido pelo cliente
SNSTópico da Amazon 10
SQSFila da Amazon 10

Os seguintes enriquecimentos e destinos recebem a carga útil completa do evento do lote para processamento e são limitados pelo tamanho total da carga útil do evento, em vez do tamanho do lote:

  • Máquina de estado do Step Functions (262.144 caracteres)

  • Função do Lambda (6 MB)

Lote com falha parcial

Para fontes da Amazon SQS e de streaming, como Kinesis e DynamoDB, o EventBridge Pipes oferece suporte ao tratamento parcial de falhas de destino em lote. Se o destino suportar o agrupamento em lotes e somente parte do lote for bem-sucedido, EventBridge tentará automaticamente agrupar novamente o restante da carga útil. Para o conteúdo mais up-to-date enriquecido, essa nova tentativa ocorre em todo o canal, incluindo a reinvocação de qualquer enriquecimento configurado.

O tratamento de lotes com falha parcial do enriquecimento não é compatível.

Para destinos do Lambda e Step Functions, também é possível especificar uma falha parcial retornando uma carga com estrutura definida do destino. Isto indica eventos que precisam ser repetidos.

Exemplo de estrutura de carga útil com falha parcial

{ "batchItemFailures": [ { "itemIdentifier": "id2" }, { "itemIdentifier": "id4" } ]

No exemplo, itemIdentifier corresponde ao ID dos eventos manipulados pelo seu destino da origem original. Para a AmazonSQS, isso é messageId o. No Kinesis e no DynamoDB, este é o eventID. Para que EventBridge os Pipes lidem adequadamente com falhas parciais de lote dos alvos, esses campos precisam ser incluídos em qualquer carga útil da matriz retornada pelo enriquecimento.

Comportamento de throughput e simultaneidade

Cada evento ou lote de eventos recebidos por um pipe que viaja até um enriquecimento ou destino é considerado como uma execução de pipe. Um pipe no estado STARTED pesquisa continuamente os eventos da origem, aumentando e diminuindo a escala dependendo da lista de pendências disponível e das configurações de processamento de lotes definidas.

Para cotas de execuções simultâneas de pipes e o número de pipes por conta e região, consulte EventBridge Cotas de tubulações.

Por padrão, um único pipe escalará para o seguinte máximo de execuções simultâneas, dependendo da origem:

  • DynamoDB: as execuções simultâneas podem subir até as ParallelizationFactor configuradas no pipe e multiplicadas pelo número de fragmentos no fluxo.

  • Apache Kafka: as execuções simultâneas podem aumentar o número de partições no tópico, até mil.

  • Kinesis: as execuções simultâneas podem subir tão alto quanto as ParallelizationFactor configuradas no pipe multiplicadas pelo número de fragmentos no fluxo.

  • Amazon MQ: 5

  • Amazon SQS — 1250

Se tiver requisitos para throughputs sondagem ou limites de simultaneidade máximos mais altos, entre em contato com o suporte.

nota

Os limites de execução são considerados limitações de segurança de melhor esforço. Embora a pesquisa não limitada abaixo desses valores, um pipe ou conta pode estourar mais do que esses valores recomendados.

As execuções de pipes são limitadas a um máximo de cinco minutos, incluindo o enriquecimento e o processamento de destino. Este limite não pode ser aumentado.

Pipes com fontes estritamente ordenadas (como SQS FIFO filas da Amazon, Kinesis e DynamoDB Streams ou tópicos do Apache Kafka) são ainda mais limitados em termos de simultaneidade pela configuração da fonte, como o número de grupos de mensagens IDs para filas ou o número de fragmentos para filas do Kinesis. FIFO Como o pedido é estritamente garantido dentro dessas restrições, um pipe com uma origem ordenada não pode exceder esses limites de simultaneidade.