Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
Como faço para filtrar eventos com o EventBridge Pipes?
Quero usar o Amazon EventBridge Pipes para capturar um evento de fontes da AWS e conectá-lo a destinos.
Breve descrição
O EventBridge Pipes recebe dados de eventos das seguintes fontes:
- Stream do Amazon DynamoDB
- Stream do Amazon Kinesis
- Amazon MQ
- Stream do Amazon Managed Streaming for Apache Kafka (Amazon MSK)
- Stream do Apache Kafka autogerenciado
- Fila do Amazon Simple Queue Service (Amazon SQS)
Se você enviar eventos de dados diretamente da fonte para o destino, haverá sobrecarga de recursos e custos adicionais. O destino deve processar todos os eventos de dados e implementar a lógica de negócios para descartar eventos desnecessários. É uma prática recomendada enviar somente eventos de dados específicos para o destino.
Para aprimorar os eventos filtrados antes de enviá-los ao destino, use um destino de API ou os seguintes serviços da AWS:
- Amazon API Gateway
- AWS Lambda
- AWS Step Functions
Resolução
Observação: O EventBridge Pipes usa padrões de evento. Cada fonte do EventBridge Pipes possui campos que contêm a mensagem principal ou os dados.
Use os critérios de filtro para reduzir a sobrecarga
Para filtrar eventos enviados pela fonte, o EventBridge Pipes usa os seguintes critérios de filtro:
- A propriedade Metadata inclui informações no formato JSON sobre a fonte que gera o evento de dados.
- A propriedade Dados inclui o corpo da mensagem do evento de dados da fonte. O formato do corpo da mensagem varia de fonte para fonte.
Exemplo de corpo de mensagem que enviado por uma fila do Amazon SQS:
{ "key": "example-key-1", "tag": "eb-pipe-filter", "object name": "sampleimage-11.png", "sequencer": "617f0837b476e463", "Order Status": "Approved" }
Exemplo de evento que o pipe recebeu:
{ "messageId": "c9652226-2d8f-49e9-9f06-beeb2a6f55ce", "receiptHandle": "AQEBoteuDChpmsb6765tA//hqtPta1W/utSYlmWuw3fjZnVvY+dxOUdj4cEjYZtLKGMGT4LUuvWbQPHb96Wwa+X0zUJo8ZiHC7dbul62hVbFTXjB7+cOKH91RXc3YMllpnd6nB3CNAOGIig6suCpEOGcrhTJ6dC45KoacROua1PIH454Ji8AP51TkQSnhkkeOJHInLHkvrd2sfoBo037kmMKJSo3kDgU7y92jbpJphRmijnNQX6gPQYSVifF3n3ApvSBMGQIUzQb65ZRLl6Mp2VPJQYF2RRjYShdrzhe3uON9H01m9f3LGcpL3yaX6yqFahfoEe3PiT6MMXHvIAaj+dKVSUqmnnk3n7X0n4WX1uFPgyjrI5KuJ64j2lf/dkcPMQEUPorjmagECmYpMrGlkBbZw==", "body": { "key": "example-key-1", "tag": "eb-pipe-filter", "object name": "sampleimage-11.png", "sequencer": "617f0837b476e463", "Order Status": "Approved" }, "attributes": { "ApproximateReceiveCount": "1", "SentTimestamp": "1690589578649", "SenderId": "AIDAIMWXWRRSWVPYSJEH6", "ApproximateFirstReceiveTimestamp": "1690589578654" }, "messageAttributes": { "Name": { "stringValue": "TestMessage", "stringListValues": [], "binaryListValues": [], "dataType": "String" } }, "md5OfMessageAttributes": "62bd1c2ea8c5344caa6852a77543892d", "md5OfBody": "388e8d9be1776f61c0be0a089807afbc", "eventSource": "aws:sqs", "eventSourceARN": "arn:aws:sqs:ap-southeast-2:123456789012:test-sqs-source-pipe", "awsRegion": "ap-southeast-2" }
Observação: No exemplo de evento anterior, não é possível usar eventSource, eventSourceARN e awsRegion para criar um padrão de evento porque o EventBridge adiciona os dados durante a sondagem.
Revise exemplos de padrões de filtro de eventos
Correspondência de padrão de filtro de eventos com propriedades de metadados
O padrão de filtro de eventos a seguir corresponde aos eventos que o pipe recebeu com os atributos e as propriedades de metadados stringValue:
{ "attributes": { "ApproximateReceiveCount": ["1"] }, "messageAttributes": { "Name": { "stringValue": ["TestMessage"] } } }
Correspondência de padrão de filtro de eventos com propriedades de dados
O padrão de filtro de eventos a seguir corresponde aos eventos que o pipe recebeu com a propriedade de dados Status do pedido e o valor aprovado:
{ "body": { "Order Status": ["Approved"] } }
Correspondência do padrão de filtro de eventos com metadados e propriedades de dados
O padrão de filtro de eventos a seguir corresponde aos eventos que o pipe recebeu com a propriedade de dados Status do pedido e a propriedade de metadados SenderID:
{ "attributes": { "SenderId": ["AIDAIMWXWRRSWVPYSJEH6"] }, "body": { "Order Status": ["Approved"] } }
Padrão de filtro de eventos sem correspondências
O padrão de filtro de eventos a seguir não pode corresponder aos eventos que o pipe recebeu porque contém o campo awsRegion:
{ "body": { "Order Status": ["Approved"] }, "awsRegion": ["ap-southeast-2"] }
Observação: O EventBridge adiciona o campo AWSRegion ao adicionar os dados durante a sondagem. Embora os campos da propriedade de dados correspondam, o padrão do filtro de eventos falhou.
Revise os critérios para uma correspondência bem-sucedida
Se você não configurar corretamente o corpo da mensagem recebida e o padrão de filtro de eventos, o EventBridge Pipes descartará a mensagem.
Ao criar um padrão de filtro de eventos para o corpo da mensagem do evento, o padrão deve corresponder ao formato utilizado pelas fontes. Por exemplo, o corpo da mensagem do SQS pode ser uma string simples ou um script JSON. Os registros do Kinesis Stream e do DynamoDB devem estar em um formato JSON válido. Streams do Apache Kafka autogerenciado e mensagens do Amazon MQ usam strings codificadas em UTF-8, seja como strings simples ou no formato JSON.
Para mais informações sobre as fontes e seus padrões de filtro, consulte Event filtering in Amazon EventBridge Pipes.
Crie um pipe do EventBridge
Conclua as etapas a seguir:
- Abra o console do EventBridge.
- No painel de navegação, escolha Pipes.
- Escolha Criar pipe e, em seguida, insira um nome para o pipe.
- (Opcional) Em Descrição, adicione uma descrição para o pipe.
- Na guia Construir pipe, selecione o tipo de fonte e configure a fonte.
- Em Fonte, insira os parâmetros e escolha Avançar.
- Em tipo de evento de Amostra, selecione Eventos da AWS ou Inserir um próprio.
- Em Padrão de evento, insira o padrão de eventos necessário para filtrar os eventos.
- (Opcional) Escolha Padrão de teste.
- (Opcional) Escolha Avançar para navegar até Enrichment.
- Escolha Avançar para navegar até Destino.
- Em Detalhes, em Serviço do Destino, selecione o destino na lista suspensa e, em seguida, insira as informações do recurso de destino.
- Defina as configurações do pipe.
- Escolha Criar pipe.
Informações relacionadas
- Idioma
- Português

Conteúdo relevante
- feita há um ano
- feita há um ano
AWS OFICIALAtualizada há um ano