Creazione di modelli di eventi in EventBridge - Amazon EventBridge

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

Creazione di modelli di eventi in EventBridge

Per creare un modello di eventi, specifichi i campi di un evento a cui deve corrispondere il modello. Specifica solo i campi che utilizzi per la corrispondenza.

Ad esempio, il seguente esempio di modello di evento fornisce solo valori per tre campi: i campi di primo livello "source" e e "detail-type" il "state" campo all'interno del campo "detail" oggetto. EventBridgeignora tutti gli altri campi dell'evento quando applica la regola.

{ "source": ["aws.ec2"], "detail-type": ["EC2 Instance State-change Notification"], "detail": { "state": ["terminated"] } }

Affinché un modello di eventi corrisponda a un evento, l'evento deve contenere tutti i nomi di campo elencati nel modello di eventi. I nomi di campo devono essere visualizzati nell'evento con la stessa struttura di nidificazione.

Quando si scrivono modelli di eventi in modo che corrispondano agli eventi, è possibile utilizzare il test-event-pattern CLI comando TestEventPattern API o per verificare che il modello corrisponda agli eventi corretti. Per ulteriori informazioni, vedere TestEventPattern.

Valori di eventi corrispondenti

In uno schema di eventi, il valore da abbinare si trova in una JSON matrice, racchiuso tra parentesi quadre («[», «]») in modo da poter fornire più valori. Ad esempio, per abbinare gli eventi di Amazon EC2 or AWS Fargate, puoi utilizzare lo schema seguente, che corrisponde agli eventi in cui il valore del "source" campo è "aws.ec2" o"aws.fargate".

{ "source": ["aws.ec2", "aws.fargate"] }

Per ulteriori informazioni, consulta Corrispondenza su più valori di campo.

Utilizzo degli operatori di confronto nei modelli di EventBridge eventi di Amazon

Amazon EventBridge supporta il filtraggio dichiarativo dei contenuti utilizzando modelli di eventi. Grazie ai filtri di contenuti, puoi creare modelli di eventi complessi che corrispondono a eventi solo in condizioni molto specifiche. Ad esempio, puoi creare un modello di eventi che corrisponde a un evento quando:

  • Un campo dell'evento rientra in un intervallo numerico specifico.

  • L'evento proviene da un indirizzo IP specifico.

  • Nell'evento non esiste un campo specifico. JSON

Per ulteriori informazioni, consulta Operatori di confronto.

Considerazioni sulla creazione di modelli di eventi

Di seguito sono riportati alcuni aspetti da considerare nella creazione dei modelli di eventi:

  • EventBridge ignora i campi dell'evento che non sono inclusi nel modello di evento. L'effetto è che esiste un carattere jolly "*": "*" per i campi che non compaiono nel modello di eventi.

  • I valori a cui corrispondono i modelli di eventi seguono le JSON regole. È possibile includere stringhe racchiuse tra virgolette ("), numeri e parole chiave true, false, e null.

  • Per le stringhe, EventBridge utilizza la character-by-character corrispondenza esatta senza ripiegamento tra maiuscole e minuscole o qualsiasi altra normalizzazione delle stringhe.

  • Per i numeri, utilizza la rappresentazione in formato stringa EventBridge . Ad esempio, 300, 300.0 e 3.0e2 non sono considerati uguali.

  • Se vengono specificati più modelli per lo stesso JSON campo, utilizza EventBridge solo l'ultimo.

  • Tieni presente che quando EventBridge compila i modelli di eventi da utilizzare, usa il punto (.) come carattere di unione.

    Ciò significa che EventBridge tratterà i seguenti modelli di eventi come identici:

    ## has no dots in keys { "detail" : { "state": { "status": [ "running" ] } } } ## has dots in keys { "detail" : { "state.status": [ "running" ] } }

    Entrambi i modelli di eventi corrisponderanno quindi ai due eventi seguenti:

    ## has no dots in keys { "detail" : { "state": { "status": "running" } } } ## has dots in keys { "detail" : { "state.status": "running" } }
    Nota

    Questo descrive EventBridge il comportamento attuale e non dovrebbe essere considerato tale da non cambiare.

  • I modelli di eventi contenenti campi duplicati non sono validi. Se un modello contiene campi duplicati, considera EventBridge solo il valore finale del campo.

    Ad esempio, i seguenti modelli di eventi corrisponderanno allo stesso evento:

    ## has duplicate keys { "source": ["aws.s3"], "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["s3.amazonaws.com"], "eventSource": ["sns.amazonaws.com"] } } ## has unique keys { "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["sns.amazonaws.com"] } }

    E EventBridge tratta i due eventi seguenti come identici:

    ## has duplicate keys { "source": ["aws.s3"], "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": [ { "eventSource": ["s3.amazonaws.com"], "eventSource": ["sns.amazonaws.com"] } ] } ## has unique keys { "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": [ { "eventSource": ["sns.amazonaws.com"] } ] }
    Nota

    Questo descrive EventBridge il comportamento attuale e non dovrebbe essere considerato tale da non cambiare.