Rufen Sie EventBridge mit Step Functions - AWS Step Functions

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.

Rufen Sie EventBridge mit Step Functions

Step Functions können bestimmte steuernAWSDienstleistungen direkt aus der Amazon States Language. Weitere Informationen zur Arbeit mitAWS Step Functionsund seine Integrationen finden Sie im Folgenden:

Wie sich die Optimized EventBridge-Integration von der EventBridge unterscheidetAWSSDK-Integration
  • Der Ausführungs-ARN und der ARN des State-Rechners werden automatisch an dieResourcesFeld von jedemPutEventsRequestEntryaus.

  • Wenn die Antwort vonPutEventsenthält einen ungleich NullFailedEntryCountdann ist derTask-Status schlägt mit dem Fehler fehlEventBridge.FailedEntryaus.

Weitere Informationen zur Konfiguration von IAM bei Verwendung von Step Functions mit anderenAWSDienstleistungen, sieheIAM-Richtlinien für integrierte Diensteaus.

Step Functions bietet eine Service-Integrations-API zur Integration mit Amazon EventBridge. Auf diese Weise können Sie ereignisgesteuerte Anwendungen erstellen, indem Sie benutzerdefinierte Ereignisse direkt aus Step Functions Functions-Workflows senden.

So verwenden Sie denPutEventsAPI müssen Sie in Ihrem Konto eine EventBridge-Regel erstellen, die dem spezifischen Muster der Ereignisse entspricht, die Sie senden werden. So können Sie beispielsweise:

  • Erstellen Sie in Ihrem Konto eine Lambda-Funktion, die ein Ereignis empfängt und druckt, das einer EventBridge-Regel entspricht.

  • Erstellen Sie eine EventBridge-Regel in Ihrem Konto im Standard-Ereignisbus, die einem bestimmten Ereignismuster entspricht und auf die Lambda-Funktion abzielt.

Weitere Informationen finden Sie unter:

Anmerkung

In Step Functions gibt es ein Kontingent für die maximale Größe von Eingabe- oder Ergebnisdaten für eine Aufgabe. Dies beschränkt Sie auf 262.144 Byte Daten als UTF-8-kodierte Zeichenfolge, wenn Sie an einen anderen Dienst senden oder Daten von diesem empfangen. Siehe Kontingente im Zusammenhang mit State-Machine-Ausführungen.

Unterstützte EventBridge API

Zu den unterstützten EventBridge-API und Syntax gehören:

Im Folgenden finden Sie einTaskdas sendet ein benutzerdefiniertes Ereignis:

{ "Type": "Task", "Resource": "arn:aws:states:::events:putEvents", "Parameters": { "Entries": [ { "Detail": { "Message": "MyMessage" }, "DetailType": "MyDetailType", "EventBusName": "MyEventBus", "Source": "my.source" } ] }, "End": true }

Fehlerbehandlung

DiePutEventsDie API akzeptiert ein Array von Einträgen als Eingabe und gibt dann ein Array von Ergebniseinträgen zurück. Solange derPutEventsAktion war erfolgreich,PutEventsgibt eine HTTP 200-Antwort zurück, auch wenn ein oder mehrere Einträge fehlgeschlagen sind.PutEventsgibt die Anzahl der fehlgeschlagenen Einträge imFailedEntryCountfield.

Step Functions prüft, ob dieFailedEntryCountist größer als Null. Wenn er größer als Null ist, schlägt Step Functions fehl im Status mit dem FehlerEventBridge.FailedEntryaus. Auf diese Weise können Sie die integrierte Fehlerbehandlung von Step Functions in Aufgabenstatus verwenden, um bei fehlgeschlagenen Einträgen abzufangen oder erneut zu versuchen, anstatt einen zusätzlichen Status für die Analyse desFailedEntryCountaus der Antwort.

Anmerkung

Wenn Sie Idempotenz implementiert haben und alle Einträge sicher wiederholen können, können Sie die Wiederholungslogik von Step Functions verwenden. Step Functions entfernt keine erfolgreichen Einträge aus demPutEventsEingabe-Array vor dem erneuten Versuch Stattdessen versucht es erneut mit dem ursprünglichen Array von Einträgen.