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.
EventBridge Ereignisse mit Step Functions hinzufügen
Step Functions bietet eine Serviceintegration API für die Integration mit Amazon EventBridge. Erfahren Sie, wie Sie ereignisgesteuerte Anwendungen erstellen, indem Sie benutzerdefinierte Ereignisse direkt aus den Workflows von Step Functions senden.
Erfahren Sie mehr über die Integration mit AWS Dienste in Step Functions, siehe Integrieren von -Services undÜbergeben von Parametern an einen Dienst API in Step Functions.
Hauptmerkmale der optimierten Integration EventBridge
-
Die Ausführung ARN und die Zustandsmaschine ARN werden jeweils automatisch an das jeweilige
Resources
PutEventsRequestEntry
Feld angehängt. -
Wenn die Antwort von einen Wert ungleich Null
PutEvents
FailedEntryCount
enthält, schlägt derTask
Status mit dem Fehler fehl.EventBridge.FailedEntry
Um das verwenden zu können PutEvents
API, 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 ausgibt, das einer EventBridge Regel entspricht.
-
Erstellen Sie in Ihrem Konto auf dem Standard-Event-Bus eine EventBridge Regel, die einem bestimmten Ereignismuster entspricht und auf die Lambda-Funktion abzielt.
Weitere Informationen finden Sie unter:
-
Hinzufügen von EventBridge Amazon-Veranstaltungen mit PutEvents im EventBridge Benutzerhandbuch.
-
Warten Sie auf einen Rückruf mit Task Tokenin Muster der Serviceintegration.
Folgendes beinhaltet eineTask
, die ein benutzerdefiniertes Ereignis sendet:
{
"Type": "Task",
"Resource": "arn:aws:states:::events:putEvents",
"Parameters": {
"Entries": [
{
"Detail": {
"Message": "MyMessage"
},
"DetailType": "MyDetailType",
"EventBusName": "MyEventBus",
"Source": "my.source"
}
]
},
"End": true
}
Anmerkung
In Step Functions gibt es ein Kontingent für die maximale Eingabe- oder Ergebnisdatengröße für eine Aufgabe. Dadurch sind Sie auf 256 KB an Daten als UTF -8-kodierte Zeichenfolge beschränkt, wenn Sie Daten an einen anderen Dienst senden oder von einem anderen Dienst empfangen. Siehe Kontingente im Zusammenhang mit der Ausführung von Zustandsmaschinen.
Unterstützt EventBridge API
Zu den unterstützten EventBridge API Syntaxen gehören:
-
-
Unterstützte Parameter:
Fehlerbehandlung
Der PutEvents
API akzeptiert ein Array von Einträgen als Eingabe und gibt dann ein Array von Ergebniseinträgen zurück. Solange die PutEvents
Aktion erfolgreich war, PutEvents
wird eine Antwort von HTTP 200 zurückgegeben, auch wenn bei einer oder mehreren Eingaben ein Fehler aufgetreten ist. PutEvents
gibt die Anzahl der fehlgeschlagenen Einträge im FailedEntryCount
Feld zurück.
Step Functions prüft, ob der größer als Null FailedEntryCount
ist. Wenn er größer als Null ist, schlägt Step Functions den Status mit dem Fehler fehlEventBridge.FailedEntry
. Auf diese Weise können Sie die integrierte Fehlerbehandlung von Step Functions für Aufgabenstatus verwenden, um fehlgeschlagene Eingaben abzufangen oder erneut zu versuchen, anstatt einen zusätzlichen Status verwenden zu müssen, um die Antwort FailedEntryCount
anhand der Antwort zu analysieren.
Anmerkung
Wenn Sie Idempotenz implementiert haben und sicher alle Einträge erneut versuchen können, können Sie die Wiederholungslogik von Step Functions verwenden. Step Functions entfernt erfolgreiche Einträge nicht aus dem PutEvents
Eingabearray, bevor es erneut versucht wird. Stattdessen versucht es erneut mit dem ursprünglichen Array von Einträgen.
IAMRichtlinien für das Anrufen EventBridge
Die folgenden Beispielvorlagen zeigen, wie AWS Step Functions generiert IAM Richtlinien auf der Grundlage der Ressourcen in Ihrer State-Machine-Definition. Weitere Informationen erhalten Sie unter So generiert Step Functions IAM Richtlinien für integrierte Dienste und Entdecken Sie Serviceintegrationsmuster in Step Functions.
PutEvents
Statische Ressourcen
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"events:PutEvents"
],
"Resource": [
"arn:aws:events:us-east-1:123456789012
:event-bus/stepfunctions-sampleproject-eventbus"
],
"Effect": "Allow"
}
]
}
Dynamische Ressourcen
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"events:PutEvents"
],
"Resource": "arn:aws:events:*:*:event-bus/*"
}
]
}