Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Filtrare gli eventi per un abbonato
Un filtro seleziona gli eventi ricevuti da un abbonato. FilterConfigurationAssocia a al sottoscrittore con uno o più filtri, ognuno con un nome a Scope e una sintassi Pattern in EventBridge event pattern. Ad esempio, un DATA filtro con il modello {"detail":{"amount":[{"numeric":[">",500]}]}} fornisce solo gli ordini superiori a 500 pubblicati con. PutEvents Questa pagina descrive il modello di filtro; per gli operatori dei pattern, vedereSchemi di EventBridge eventi Amazon. I filtri per abbonati non supportano la corrispondenza con caratteri jolly.
Come funziona il filtro
Ogni filtro è composto da due parti: aScope, che è la parte dell'evento esaminato dal filtro (DATA,METADATA, oSYSTEM_METADATA; vediStruttura degli eventi: dati, metadati e metadati di sistema) e aPattern, un modello di evento fornito come stringa JSON. EventBridge combina i filtri in una configurazione con AND: un evento deve corrispondere a tutti i filtri prima che l'abbonato lo riceva. Un abbonato senza no FilterConfiguration riceve tutti gli eventi.
I tre ambiti
DATA-
Esamina i dati dell'evento. Perché
PutRawEvents, i dati sono il payload che hai inviato. PerchéPutEvents, i dati sono la EventBridge busta e il tuoDetailè annidato sotto la chiave.detailDATAi filtri supportano tutti gli operatori di pattern di eventi tranne i caratteri jolly. EventBridge deserializzaapplication/protobufgli eventi in JSONapplication/avroe unDATAfiltro esamina quel JSON come qualsiasi evento JSON. Unapplication/octet-streamevento non contiene dati leggibili da un filtro, quindi un abbonato con un filtro non ne corrisponde mai uno; e iDATAfiltri funzionano comunque su di esso.METADATASYSTEM_METADATA METADATA-
Esamina le coppie chiave-valore impostate dall'editore.
MetadataPutRawEventsMETADATAi filtri corrispondono solo a valori esatti: ogni valore nel modello deve essere un array JSON di valori esatti e operatori comeprefix,numericexists, e$ornon sono supportati. Per utilizzare questi operatori, filtrate suDATAoSYSTEM_METADATA. UnPutEventsevento non ha metadati dell'editore, quindi unMETADATAfiltro non corrisponde mai a uno. SYSTEM_METADATA-
Esamina i EventBridge set di campi relativi all'evento, elencati nella tabella seguente.
SYSTEM_METADATAi filtri supportano tutti gli operatori di pattern di eventi tranne i caratteri jolly. I campi EventBridge generati portano ilaws:prefisso.
| Campo | Description | Presente il |
|---|---|---|
ContentType | Il tipo di contenuto dei dati dell'evento | Ogni evento |
DeduplicationId | L'identificatore di deduplicazione | Ogni evento |
EventGroupId | Il gruppo di eventi | Ogni evento |
aws:EventId | L'identificatore assegnato EventBridge | Ogni evento |
aws:IngestionTime | Quando EventBridge ho ricevuto l'evento | Ogni evento |
aws:SequenceNumber | Il numero di sequenza EventBridge assegnato | Ogni evento |
aws:DeliveryType | LIVE o REPLAY | Ogni evento consegnato |
aws:SchemaId | L'identificatore dello schema del registro: un UUID di versione per Glue, un numero intero per Confluent | Eventi Avro e Protobuf |
aws:RegistryType | Glue o Confluent | Eventi Avro e Protobuf |
aws:Source | La fonte dell'evento | PutEvents, AWS servizi ed eventi per i partner SaaS |
aws:DetailType | Il tipo di dettaglio dell'evento | PutEvents, AWS servizi ed eventi per i partner SaaS |
Nota
Per filtrare gli eventi AWS di servizio o gli eventi dei partner SaaS, usa aws:Source e. aws:DetailType EventBridge scrive questi campi e nessuna chiamata di pubblicazione può impostare una fonte che inizi conaws., in modo da identificare l'origine verificata dell'evento. Non utilizzare i detail-type campi source e nei dati dell'evento per questo scopo; qualsiasi editore può scriverli. Consulta Sorgenti di eventi per un bus di eventi personalizzato.
Esempio: filtrare un evento pubblicato con PutRawEvents
PutRawEventspubblica un payload con un tipo di contenuto. Un DATA filtro corrisponde direttamente al payload e un METADATA filtro corrisponde alla mappa dei metadati dell'editore. La configurazione seguente prevede un filtro per ambito; l'abbonato riceve un evento solo quando tutti e tre corrispondono: il payload amount è superiore a 500, la chiave dei metadati è e il tipo di contenuto region è JSONEU.
{ "Filters": [ { "Scope": "DATA", "Pattern": "{\"amount\":[{\"numeric\":[\">\",500]}]}" }, { "Scope": "METADATA", "Pattern": "{\"region\":[\"EU\"]}" }, { "Scope": "SYSTEM_METADATA", "Pattern": "{\"ContentType\":[\"application/json\"]}" } ] }
Esempio: filtrare un evento pubblicato con PutEvents
PutEventspubblica un evento nella EventBridge busta, composto dalle vociSource,, DetailType ResourcesTime, e. Detail Un DATA filtro corrisponde a questa busta, con il tuo Detail nome annidato al di sotto. detail L'evento ContentType è application/eventbridge+json aws:Source e aws:DetailType proviene dal campo d'ingresso Source e DetailType anche la busta espone source e detail-type rientra nell'ambito. DATA La seguente configurazione corrisponde quando il numero di dettagli è superiore amount a 500 e l'origine lo è. com.myapp.storage
{ "Filters": [ { "Scope": "DATA", "Pattern": "{\"detail\":{\"amount\":[{\"numeric\":[\">\",500]}]}}" }, { "Scope": "SYSTEM_METADATA", "Pattern": "{\"aws:Source\":[\"com.myapp.storage\"]}" } ] }
Esempio: filtrare gli eventi da una fonte di eventi
Gli eventi rilevati da una fonte di eventi arrivano nella EventBridge busta, con il servizio o il partner di origine all'interno. aws:Source Per ricevere solo eventi creati da oggetti Amazon S3 per un bucket, abbina il servizio in ingresso e il bucket in. SYSTEM_METADATA DATA Per un partner, abbina il nome della fonte dell'evento partner, ad esempio con un on. prefix aws.partner/example.com
{ "Filters": [ { "Scope": "SYSTEM_METADATA", "Pattern": "{\"aws:Source\":[\"aws.s3\"]}" }, { "Scope": "DATA", "Pattern": "{\"detail-type\":[\"Object Created\"],\"detail\":{\"bucket\":{\"name\":[\"amzn-s3-demo-bucket\"]}}}" } ] }
Comportamento e limiti
-
Combinazione AND: un evento deve corrispondere a tutti i filtri della configurazione.
-
Nessun filtro: un abbonato senza configurazione di filtro riceve tutti gli eventi.
-
Un filtro per ambito: una configurazione contiene al massimo un filtro per ogni ambito, quindi al massimo tre filtri. EventBridge rifiuta una configurazione con due filtri dello stesso ambito.
-
Carattere jolly: l'
wildcardoperatore e quellianything-butcon un carattere jolly vengono rifiutati, con il messaggio Filter pattern non deve contenere caratteri jolly corrispondenti (jolly, anything-but jolly). -
Combinazioni di pattern con
$or: EventBridge rifiuta un filtro il cui utilizzo produce più di 1.000 combinazioni di pattern.$orMoltiplica il numero di argomenti in ogni$ormatrice: una matrice di tre dà tre combinazioni, una seconda matrice di due dà sei. -
Dimensioni: tutti i filtri in una configurazione condividono un limite di 4.096 byte nei tre ambiti.
-
Forma del pattern: un
DATApattern può avere un array alla sua radice;METADATAe iSYSTEM_METADATApattern devono essere oggetti JSON. Un pattern che non è un JSON valido viene rifiutato quando si crea o si aggiorna il sottoscrittore. -
Modifiche: i filtri di un abbonato possono cambiare 24 volte in 24 ore consecutive; vedi. Aggiornamento, sospensione e ripresa di un abbonato
Un modello scritto con la forma sbagliata non fallisce; non corrisponde a nulla. Prima di affidarti a un abbonato, pubblica un evento che dovrebbe corrispondere e uno che non dovrebbe corrispondere e controllali entrambi nella destinazione.