API-Ziele als Ziele in Amazon 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.

API-Ziele als Ziele in Amazon EventBridge

EventBridge API-Ziele sind HTTPS-Endpunkte, die Sie als Ziel einer Event-Bus-Regel oder Pipe aufrufen können, ähnlich wie Sie einen AWS Dienst oder eine Ressource als Ziel aufrufen. Mithilfe von API-Zielen können Sie Ereignisse mithilfe von API-Aufrufen zwischen AWS Diensten, integrierten Software-as-a-Service (SaaS) -Anwendungen und öffentlichen oder privaten Anwendungen weiterleiten.

Wenn Sie ein API-Ziel als Regel oder Pipe-Ziel angeben, EventBridge ruft es den HTTPS-Endpunkt für jedes Ereignis auf, das dem in der Regel oder Pipe angegebenen Ereignismuster entspricht, und übermittelt dann die Ereignisinformationen zusammen mit der Anfrage. Mit EventBridge können Sie jede HTTP-Methode außer CONNECT und TRACE für die Anfrage verwenden. Die am häufigsten verwendeten HTTP-Methoden sind PUT und POST.

Sie können auch Eingabe-Transformatoren verwenden, um das Ereignis an die Parameter bestimmter HTTP-Endpunktparameter anzupassen. Weitere Informationen finden Sie unter Transformation Amazon EventBridge Amazon-Eingaben.

API-Ziele verwenden eine Verbindung mit Autorisierungsparametern, um Ereignisse an HTTP-Endpunkte zu senden.

EventBridge API-Ziele verwenden Verbindungen, um die Autorisierungsmethode und die Anmeldeinformationen sowie die Netzwerkkonnektivität EventBridge zu definieren, die verwendet werden sollen, wenn eine Verbindung zu einem bestimmten HTTPS-Endpunkt hergestellt wird. Verbindungen unterstützen sowohl öffentliche als auch private Verbindungen APIs. Weitere Informationen finden Sie unter Verbindungen.

Anmerkung

EventBridge API-Ziele unterstützen derzeit nur öffentliche Domainnamen mit öffentlich vertrauenswürdigen Zertifikaten für HTTPS-Endpunkte, wenn private APIs verwendet werden. API-Ziele unterstützen Mutual TLS (mTLS) nicht.

Wichtig

EventBridge Anfragen an einen API-Zielendpunkt müssen ein maximales Client-Ausführungszeitlimit von 5 Sekunden haben. Wenn die Antwort des Zielendpunkts länger als 5 Sekunden dauert, kommt es bei der Anfrage zu einem EventBridge Timeout. EventBridge wiederholt Anfragen mit Timeout bis zu den Höchstwerten, die in Ihrer Wiederholungsrichtlinie konfiguriert sind.

  • Bei Eventbussen sind die Höchstwerte standardmäßig 24 Stunden und 185 Mal.

  • Bei Pipes werden die Wiederholungsversuche anhand des Quelltyps der Pipe und ihrer Konfiguration bestimmt. EventBridge wiederholt den Vorgang, bis das Ereignis an der Quelle abläuft oder das konfigurierte maximale Alter für Ereignisse oder Wiederholungsversuche erreicht ist.

Sobald die maximale Anzahl an Wiederholungen erreicht ist, werden Ereignisse an Ihre Warteschlange für unzustellbare Nachrichten gesendet. Andernfalls wird das Ereignis gelöscht.

Das folgende Video zeigt die Verwendung des API-Ziels:

Serviceverknüpfte Rolle für API-Ziele

Wenn Sie eine Verbindung für ein API-Ziel herstellen, AWS ServiceRoleForAmazonEventBridgeApiDestinationswird Ihrem Konto eine dienstbezogene Rolle mit dem Namen hinzugefügt. EventBridge verwendet die dienstverknüpfte Rolle, um ein Geheimnis in Secrets Manager zu erstellen und zu speichern. Um der dienstbezogenen Rolle die erforderlichen Berechtigungen zu gewähren, hängt die EventBridge AmazonEventBridgeApiDestinationsServiceRolePolicyRichtlinie an die Rolle an. Die Richtlinie beschränkt die gewährten Berechtigungen auf diejenigen, die für die Interaktion der Rolle mit dem Secret für die Verbindung erforderlich sind. Es sind keine weiteren Berechtigungen enthalten und die Rolle kann nur mit den Verbindungen in Ihrem Konto interagieren, um das Secret zu verwalten.

Die folgende Richtlinie ist die AmazonEventBridgeApiDestinationsServiceRolePolicy.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:CreateSecret", "secretsmanager:UpdateSecret", "secretsmanager:DescribeSecret", "secretsmanager:DeleteSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": "arn:aws:secretsmanager:*:*:secret:events!connection/*" } ] }

Weitere Informationen zu serviceverknüpften Rollen finden Sie unter Verwenden serviceverknüpfter Rollen im IAM-Benutzerhandbuch.

Verfügbarkeit in Regionen

Die AmazonEventBridgeApiDestinationsServiceRolePolicy dienstbezogene Rolle wird in den folgenden Regionen unterstützt: AWS

  • USA Ost (Nord-Virginia)

  • USA Ost (Ohio)

  • USA West (Nordkalifornien)

  • USA West (Oregon)

  • Africa (Cape Town)

  • Asia Pacific (Hong Kong)

  • Asia Pacific (Mumbai)

  • Asien-Pazifik (Osaka)

  • Asien-Pazifik (Seoul)

  • Asien-Pazifik (Singapur)

  • Asien-Pazifik (Sydney)

  • Asien-Pazifik (Tokio)

  • Canada (Central)

  • Europe (Frankfurt)

  • Europa (Irland)

  • Europa (London)

  • Europa (Milan)

  • Europe (Paris)

  • Europa (Stockholm)

  • Südamerika (São Paulo)

  • China (Ningxia)

  • China (Peking)

Header in Anforderungen an API-Ziele

Im folgenden Abschnitt wird beschrieben, wie HTTP-Header in Anfragen an API-Ziele EventBridge behandelt werden.

Header, die in Anforderungen an API-Ziele enthalten sind

EventBridge Enthält zusätzlich zu den Autorisierungsheadern, die für die Verbindung definiert sind, die für ein API-Ziel verwendet wird, die folgenden Header in jeder Anfrage.

Header-Schlüssel Header-Wert

Benutzer-Agent

Amazon/EventBridge/ApiDestinations

Content-Type

Wenn kein benutzerdefinierter Content-Type-Wert angegeben ist, EventBridge enthält dieser Wert den folgenden Standardwert als Content-Type:

application/json; charset=utf-8

Bereich

bytes=0-1048575

Accept-Encoding

gzip,deflate

Verbindung

close

Content-Length

Ein Entity-Header, der die Größe des entity-body in Byte angibt, der an den Empfänger gesendet wird

Host

Ein Anforderungsheader, der den Host und die Portnummer des Servers angibt, an den die Anfrage gesendet wird

Header, die in Anforderungen an API-Ziele nicht überschrieben werden können

EventBridge erlaubt es Ihnen nicht, die folgenden Header zu überschreiben:

  • Benutzer-Agent

  • Bereich

Headers EventBridge werden aus Anfragen an API-Ziele entfernt

EventBridge entfernt die folgenden Header für alle API-Zielanfragen:

  • A-IM

  • Accept-Charset

  • Accept-Datetime

  • Accept-Encoding

  • Cache-Control

  • Verbindung

  • Content-Encoding

  • Content-Length

  • Inhalt- MD5

  • Datum

  • Expect

  • Forwarded

  • Aus

  • Host

  • HTTP2-Einstellungen

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Urspung

  • Pragma

  • Proxy-Authorization

  • Bereich

  • Referer

  • TE

  • Trailer

  • Transfer-Encoding

  • Benutzer-Agent

  • Upgrade

  • Via

  • Warnung

Fehlercodes für das API-Ziel

Wenn EventBridge versucht wird, ein Ereignis an ein API-Ziel zu senden, und ein Fehler auftritt, EventBridge geht Folgendes vor:

  • Wiederholt Ereignisse, die mit den Fehlercodes401,, 407 409429, und 5xx verknüpft sind.

  • Wiederholt keine Ereignisse, die mit den Fehlercodes1xx, 2xx3xx, und verknüpft sind 4xx (mit Ausnahme der oben genannten).

EventBridge API-Ziele lesen den Standard-HTTP-Antwort-HeaderRetry-After, um herauszufinden, wie lange gewartet werden muss, bevor eine Folgeanfrage gestellt wird. EventBridgeWählt für Event-Busse den konservativeren Wert zwischen der definierten Wiederholungsrichtlinie und dem Retry-After Header. Wenn der Retry-After Wert negativ ist, wird der erneute Zustellversuch für dieses Ereignis EventBridge beendet.

Wie wirkt sich die Aufrufrate auf die Ereigniszustellung aus

Wenn Sie die Aufrufrate pro Sekunde auf einen Wert festlegen, der deutlich unter der Anzahl der generierten Aufrufe liegt, werden Ereignisse möglicherweise nicht innerhalb der 24-stündigen Wiederholungszeit für Ereignisse zugestellt. Wenn Sie beispielsweise die Aufrufrate auf 10 Aufrufe pro Sekunde festlegen, aber Tausende von Ereignissen pro Sekunde generiert werden, entsteht schnell ein Backlog an zuzustellenden Ereignissen, der 24 Stunden überschreitet. Wenn Sie sicherstellen möchten, dass keine Ereignisse verloren gehen, richten Sie eine Warteschlange für unzustellbare Nachrichten ein, an die Ereignisse mit fehlgeschlagenen Aufrufen gesendet werden, sodass Sie die Ereignisse zu einem späteren Zeitpunkt verarbeiten können. Weitere Informationen finden Sie unter Verwenden von Warteschlangen mit unzugestellten Nachrichten zur Verarbeitung nicht zugestellter Ereignisse in EventBridge.