Erstellen von Ereignismustern in EventBridge - Amazon EventBridge

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen von Ereignismustern in EventBridge

Wenn Sie ein Ereignismuster erstellen möchten, geben Sie die Felder eines Ereignisses an, denen das Ereignismuster entsprechen soll. Geben Sie nur die Felder an, die Sie für den Abgleich verwenden.

Das folgende Beispiel für ein Ereignismuster liefert beispielsweise nur Werte für drei Felder: die Felder der obersten Ebene "source" und "detail-type" und das "state" Feld innerhalb des "detail" Objektfeldes. EventBridgeignoriert alle anderen Felder des Ereignisses, wenn die Regel angewendet wird.

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

Damit ein Ereignismuster mit einem Ereignis übereinstimmt, muss das Ereignis alle im Ereignismuster aufgeführten Feldnamen enthalten. Die Feldnamen müssen im Ereignis auch mit derselben verschachtelten Struktur angezeigt werden.

Wenn Sie Ereignismuster so schreiben, dass sie Ereignissen entsprechen, können Sie den test-event-pattern CLI Befehl TestEventPattern API oder verwenden, um zu testen, ob Ihr Muster mit den richtigen Ereignissen übereinstimmt. Weitere Informationen finden Sie unter TestEventPattern.

Abgleichen von Ereigniswerten

In einem Ereignismuster befindet sich der abzugleichende Wert in einem JSON Array, das von eckigen Klammern („[“, „]“) umgeben ist, sodass Sie mehrere Werte angeben können. Um beispielsweise Ereignisse von Amazon EC2 oder abzugleichen AWS Fargate, könnten Sie das folgende Muster verwenden, das Ereignisse abgleicht, bei denen der Wert für das "source" Feld entweder "aws.ec2" oder ist"aws.fargate".

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

Weitere Informationen finden Sie unter Abgleich mehrerer Feldwerte.

Verwendung von Vergleichsoperatoren in EventBridge Amazon-Ereignismustern

Amazon EventBridge unterstützt die deklarative Inhaltsfilterung mithilfe von Ereignismustern. Bei der Inhaltsfilterung können Sie komplexe Ereignismuster schreiben, die nur unter sehr spezifischen Bedingungen Ereignissen entsprechen. Sie können beispielsweise ein Ereignismuster erstellen, das einem Ereignis entspricht, wenn:

  • Ein Feld des Ereignisses innerhalb eines bestimmten numerischen Bereichs liegt

  • Das Ereignis von einer bestimmten IP-Adresse stammt

  • Ein bestimmtes Feld ist in dem Ereignis JSON nicht vorhanden.

Weitere Informationen finden Sie unter Vergleichsoperatoren.

Überlegungen zur Erstellung von Ereignismustern

Im Folgenden finden Sie einige Dinge, die Sie beim Erstellen Ihrer Ereignismuster berücksichtigen sollten:

  • EventBridge ignoriert die Felder im Ereignis, die nicht im Ereignismuster enthalten sind. Das hat zur Folge, dass es einen "*": "*"-Platzhalter bei Feldern gibt, die nicht im Ereignismuster vorkommen.

  • Die Werte, denen die Ereignismuster entsprechen, folgen JSON Regeln. Sie können in Anführungszeichen (") gesetzte Zeichenfolgen sowie Zahlen und die Schlüsselwörter true, false und null verwenden.

  • EventBridge Verwendet für Zeichenketten den exakten character-by-character Abgleich ohne Umschaltung der Groß- und Kleinschreibung oder andere Normalisierung von Zeichenketten.

  • EventBridge Verwendet für Zahlen die Zeichenkettendarstellung. 300, 300,0 und 3,0e2 werden z. B. nicht gleich behandelt.

  • Wenn mehrere Muster für dasselbe JSON Feld angegeben sind, wird EventBridge nur das letzte verwendet.

  • Beachten Sie, dass beim EventBridge Kompilieren von Ereignismustern zur Verwendung der Punkt (.) als Verbindungszeichen verwendet wird.

    Das bedeutet, EventBridge dass die folgenden Ereignismuster als identisch behandelt werden:

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

    Und dass beide Ereignismuster den folgenden beiden Ereignissen entsprechen:

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

    Dies beschreibt EventBridge das aktuelle Verhalten und man sollte sich nicht darauf verlassen, dass es sich nicht ändert.

  • Ereignismuster, die doppelte Felder enthalten, sind ungültig. Wenn ein Muster doppelte Felder enthält, wird EventBridge nur der endgültige Feldwert berücksichtigt.

    Beispielsweise stimmen die folgenden Ereignismuster mit demselben Ereignis überein:

    ## 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"] } }

    Und EventBridge behandelt die folgenden beiden Ereignisse als identisch:

    ## 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"] } ] }
    Anmerkung

    Dies beschreibt EventBridge das aktuelle Verhalten und man sollte sich nicht darauf verlassen, dass es sich nicht ändert.