View a markdown version of this page

Estrutura do evento: dados, metadados e metadados do sistema - Amazônia 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á.

Estrutura do evento: dados, metadados e metadados do sistema

Filtros, transformadores e parâmetros de destino compartilham um modelo de endereçamento. EventBridge entrega cada evento sob três nomes de nível superior: Data contém a carga útil, Metadata contém as chaves que você forneceu PutRawEvents e SystemMetadata contém os campos que EventBridge atribui. A localização dos seus próprios campos Data depende da API de publicação. As duas APIs produzem o mesmo tipo de evento e EventBridge filtram e transformam as duas da mesma maneira. A diferença é apenas o que está dentroData.

Peça Publicado com PutRawEvents Publicado com PutEvents
Data Sua carga útil, exatamente como enviada Um envelope comsource, detail-typetime, e outros campos. Sua carga útil é o valor de. detail
Metadata Suas chaves de metadados Não está presente
SystemMetadata Campos atribuídos por EventBridge Campos atribuídos por EventBridge

Uma expressão JSOnata vê o evento como. $events O mesmo identificador de pedido está em um caminho diferente para cada API.

Publicado comPutRawEvents:

$events.Data.orderId

Publicado comPutEvents:

$events.Data.detail.orderId

A mesma diferença se aplica a um filtro com um escopo deDATA. O padrão é escrito com base no conteúdo deData.

Publicado comPutRawEvents:

{ "total": [ { "numeric": [ ">", 500 ] } ] }

Publicado comPutEvents:

{ "detail": { "total": [ { "numeric": [ ">", 500 ] } ] } }
Importante

Uma expressão ou padrão escrito para a forma errada não falha. Ele não resolve nada, o filtro não corresponde a nenhum evento e o transformador não produz nenhuma saída. Um assinante cujo filtro não corresponde a nada parece idêntico a um assinante que não está funcionando. Antes de confiar em um assinante, publique um evento que deva corresponder e outro que não, e confirme os dois resultados na meta. Se os produtores publicarem com as duas APIs no mesmo barramento, atribua a cada tipo de tráfego seus próprios assinantes.

SystemMetadata campos

SystemMetadataé o mesmo para ambas as APIs e é a única parte do evento que grava EventBridge por si só. Um filtro com um escopo de SYSTEM_METADATA correspondências e uma expressão JSOnata o lê como. $events.SystemMetadata Cada valor é uma string. EventBridge omite um campo que não tem valor, portanto, uma referência JSONATA a ele é avaliada comoundefined; only aws:DeliveryType está sempre presente. A tabela a seguir lista os campos.

CampoValor
aws:EventIdO identificador EventBridge atribuído, devolvido ao editor como EventId
aws:Source, aws:DetailTypeA entrada é Source e DetailType paraPutEvents; o serviço ou parceiro de origem e seu tipo de evento para uma fonte de evento. Nenhuma chamada de publicação pode definir uma fonte que comece comaws., então {"aws:Source":["aws.s3"]} prova que o Amazon S3 produziu o evento
aws:DeliveryTypeLIVEpara um evento entregue assim que chegou, REPLAY para uma leitura da história retida. Consulte Reproduzir eventos retidos para um assinante
EventGroupId, DeduplicationIdConforme fornecido no momento da publicação. Consulte Ordenando e desduplicando eventos em um barramento de eventos personalizado
ContentTypeO tipo de conteúdo conforme publicado: application/eventbridge+json forPutEvents; forPutRawEvents, o valor da entrada, então os dados Avro e Protobuf EventBridge decodificados para JSON ainda mostram ou application/avro application/protobuf
aws:IngestionTimeQuando o ônibus aceitou o evento
aws:SequenceNumberA posição do evento no ônibus; aumenta com a ordem de ingestão
aws:SchemaId, aws:RegistryTypeO esquema e o registro usados para desserializar uma carga útil do Avro ou do Protobuf; caso contrário, caso contrário

Metadataestá presente somente em eventos publicados com PutRawEvents esse conjunto; para todos os outros eventos, ele está vazio. Paraapplication/octet-stream, Data é uma string Base64. Em uma Transformer expressão $events há um evento; somente em um alvo universal Input é uma matriz. Consulte Transformando eventos com JSonata.