EventBridge (CloudWatch Ereignisse) für Statusänderungen bei der Ausführung von 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.

EventBridge (CloudWatch Ereignisse) für Statusänderungen bei der Ausführung von Step Functions

Amazon EventBridge ist ein - AWS Service, mit dem Sie auf Statusänderungen in einer - AWS Ressource reagieren können. Sie können beispielsweise auf die Änderungen des Ausführungsstatus eines Step Functions Standard Workflow mit EventBridge auf zwei Arten reagieren:

  • Sie können EventBridge Regeln so konfigurieren, dass sie auf Ereignisse reagieren, die ausgegeben werden, wenn sich der Ausführungsstatus eines Step-Functions-Zustandsautomaten ändert. Auf diese Weise haben Sie die Möglichkeit, Ihre Workflows zu überwachen, ohne ständig abfragen zu müssen, indem Sie die DescribeExecution API verwenden. Basierend auf Änderungen bei der Ausführung von Zustandsautomaten können Sie ein - EventBridge Ziel verwenden, um neue Zustandsautomaten-Ausführungen zu starten, AWS Lambda Funktionen aufzurufen, Nachrichten in Amazon Simple Notification Service (Amazon SNS)-Themen zu veröffentlichen und vieles mehr.

  • Sie können einen Step-Functions-Zustandsautomaten auch als Ziel in konfigurieren EventBridge. Auf diese Weise können Sie eine Ausführung eines Step Functions-Workflows als Reaktion auf ein Ereignis von einem anderen AWS Service auslösen.

    Weitere Informationen finden Sie im Amazon- EventBridge Benutzerhandbuch.

Express Workflows gibt jedoch keine Ereignisse an aus EventBridge. Um die Ausführung eines Express-Workflows zu überwachen, können Sie - CloudWatch Protokolle verwenden. Wählen Sie dazu auf der Seite Ausführungsdetails des Zustandsautomaten die Registerkarten Überwachung und Protokollierung aus. Auf der Registerkarte Überwachung können Sie die CloudWatch Metriken für Ereignisse anzeigen, z. B. Ausführungsdauer, Ausführungsfehler und fakturierter Speicher. Auf der Registerkarte Protokollierung können Sie die aktuellen Protokolle und die Protokollierungskonfiguration anzeigen.

Tipp

Ein Beispiel für einen Express-Workflow in Ihrem bereitstellen AWS-Konto und erfahren Sie, wie Sie Express-Workflows überwachen können, im Modul Monitoring Express Workflows des - AWS Step Functions Workshops.

EventBridge Nutzlasten

Ein EventBridge Ereignis kann eine Eingabeeigenschaft in seiner Definition enthalten. Bei einigen Ereignissen kann ein EventBridge Ereignis auch eine Ausgabeeigenschaft in seiner Definition enthalten.

  • Wenn die kombinierte Escape-Eingabe und die an gesendete Escape-Ausgabe 248KB EventBridge überschreiten, wird die Eingabe ausgeschlossen. Wenn die Escape-Ausgabe 248KB überschreitet, wird die Ausgabe ebenfalls ausgeschlossen. Dies ist das Ergebnis der EventBridge Ereigniskontingente.

  • Sie können mit den outputDetails Eigenschaften inputDetails und feststellen, ob eine Nutzlast gekürzt wurde. Weitere Informationen finden Sie unter CloudWatchEventsExecutionDataDetails Datentyp .

  • Für Standard-Workflows können Sie die vollständige Eingabe und Ausgabe mithilfe von anzeigenDescribeExecution.

  • DescribeExecution ist für Express Workflows nicht verfügbar. Wenn Sie die vollständige Eingabe/Ausgabe sehen möchten, können Sie Ihren Express-Workflow mit einem Standard-Workflow umschließen. Eine weitere Option ist die Verwendung von Amazon S3-ARNs . Informationen zur Verwendung von ARNs finden Sie unter Verwenden Sie Amazon S3 S3-ARNs, anstatt große Nutzlasten weiterzuleiten.

Step-Functions-Ereignisbeispiele

Im Folgenden finden Sie Beispiele für das Senden von Step Functions-Ereignissen an EventBridge:

In jedem Fall bietet der Abschnitt detail in den Ereignisdaten die gleichen Informationen wie die DescribeExecution API. Das Feld status gibt den Status der Ausführung zu dem Zeitpunkt an, zu dem das Ereignis gesendet wurde, je nach ausgelöstem Ereignis werden folgende Status angezeigt: RUNNING, SUCCEEDED, FAILED, TIMED_OUT oder ABORTED.

Ausführung gestartet

{ "version": "0", "id": "315c1398-40ff-a850-213b-158f73e60175", "detail-type": "Step Functions Execution Status Change", "source": "aws.states", "account": "123456789012", "time": "2019-02-26T19:42:21Z", "region": "us-east-2", "resources": [ "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name" ], "detail": { "executionArn": "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name", "stateMachineArn": "arn:aws::states:us-east-2:123456789012:stateMachine:state-machine", "name": "execution-name", "status": "RUNNING", "startDate": 1551225271984, "stopDate": null, "input": "{}", "inputDetails": { "included": true }, "output": null, "outputDetails": null } }

Ausführung erfolgreich

{ "version": "0", "id": "315c1398-40ff-a850-213b-158f73e60175", "detail-type": "Step Functions Execution Status Change", "source": "aws.states", "account": "123456789012", "time": "2019-02-26T19:42:21Z", "region": "us-east-2", "resources": [ "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name" ], "detail": { "executionArn": "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name", "stateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:state-machine", "name": "execution-name", "status": "SUCCEEDED", "startDate": 1547148840101, "stopDate": 1547148840122, "input": "{}", "inputDetails": { "included": true }, "output": "\"Hello World!\"", "outputDetails": { "included": true } } }

Ausführung fehlgeschlagen

{ "version": "0", "id": "315c1398-40ff-a850-213b-158f73e60175", "detail-type": "Step Functions Execution Status Change", "source": "aws.states", "account": "123456789012", "time": "2019-02-26T19:42:21Z", "region": "us-east-2", "resources": [ "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name" ], "detail": { "executionArn": "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name", "stateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:state-machine", "name": "execution-name", "status": "FAILED", "startDate": 1551225146847, "stopDate": 1551225151881, "input": "{}", "inputDetails": { "included": true }, "output": null, "outputDetails": null } }

Zeitüberschreitung bei der Ausführung

{ "version": "0", "id": "315c1398-40ff-a850-213b-158f73e60175", "detail-type": "Step Functions Execution Status Change", "source": "aws.states", "account": "123456789012", "time": "2019-02-26T19:42:21Z", "region": "us-east-2", "resources": [ "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name" ], "detail": { "executionArn": "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name", "stateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:state-machine", "name": "execution-name", "status": "TIMED_OUT", "startDate": 1551224926156, "stopDate": 1551224927157, "input": "{}", "inputDetails": { "included": true }, "output": null, "outputDetails": null } }

Ausführung abgebrochen

{ "version": "0", "id": "315c1398-40ff-a850-213b-158f73e60175", "detail-type": "Step Functions Execution Status Change", "source": "aws.states", "account": "123456789012", "time": "2019-02-26T19:42:21Z", "region": "us-east-2", "resources": [ "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name" ], "detail": { "executionArn": "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name", "stateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:state-machine", "name": "execution-name", "status": "ABORTED", "startDate": 1551225014968, "stopDate": 1551225017576, "input": "{}", "inputDetails": { "included": true }, "output": null, "outputDetails": null } }

Weiterleiten eines Step-Functions-Ereignisses an EventBridge in der EventBridge Konsole

Verwenden Sie die folgenden Anweisungen, um zu erfahren, wie Sie die Ausführung eines Step-Functions-Zustandsautomaten auslösen, wenn ein bestimmter Step-Functions-Zustandsautomat erfolgreich abgeschlossen wird. Sie verwenden die Amazon- EventBridge Konsole, um den Zustandsautomaten anzugeben, dessen Ausführung Sie auslösen möchten.

  1. Wählen Sie auf der Seite Details eines Zustandsautomaten Aktionen und dann EventBridge (CloudWatch Ereignisse) Regel erstellen aus.

    Erstellen einer EventBridge Ereignisregel

    Alternativ können Sie die - EventBridge Konsole unter https://console.aws.amazon.com/events/ öffnen. Wählen Sie im Navigationsbereich unter Buses die Option Regeln aus.

  2. Wählen Sie Regel erstellen aus. Dadurch wird die Seite Regeldetail definieren geöffnet.

  3. Geben Sie einen Name nfür Ihre Regel ein (z. B. StepFunctionsEventRule) und geben Sie optional eine Beschreibung für die Regel ein.

  4. Behalten Sie für Event Bus und Regeltyp die Standardauswahl bei.

  5. Wählen Sie Weiter aus. Dadurch wird die Seite Ereignismuster erstellen geöffnet.

  6. Behalten Sie unter Ereignisquelle die Standardauswahl von AWS Ereignissen oder EventBridge Partnerereignissen bei.

  7. Behalten Sie die Standardauswahl für die Abschnitte Beispielereignis und Erstellungsmethode bei.

  8. Gehen Sie unter Ereignismuster wie folgt vor:

    1. Behalten Sie in der Dropdownliste Ereignisquelle die Standardauswahl der AWS Services bei.

    2. Wählen Sie in der Dropdownliste AWS Service die Option Step Functions aus.

    3. Wählen Sie in der Dropdown-Liste Ereignistyp die Option Änderung des Ausführungsstatus von Step Functions aus.

    4. (Optional) Konfigurieren Sie einen bestimmten Status, den Amazon-Ressourcennamen (ARN) des Zustandsautomaten oder den Ausführungs-ARN. Wählen Sie für dieses Verfahren Spezifischer Status(e) und dann SUCCEEDED aus der Dropdown-Liste aus.

  9. Wählen Sie Weiter aus. Dadurch wird die Seite Ziel(e) auswählen geöffnet.

  10. Behalten Sie unter Zieltypen die Standardauswahl des AWS Services bei.

  11. Wählen Sie in der Dropdownliste Ziel auswählen einen - AWS Service aus. Sie können beispielsweise eine Lambda-Funktion starten oder einen Step-Functions-Zustandsautomaten ausführen. Wählen Sie für dieses Verfahren Step Functions State Machine aus.

  12. Wählen Sie in der Dropdownliste Zustandsautomat einen Zustandsautomaten aus.

  13. Behalten Sie unter Ausführungsrolle die Standardauswahl von Neue Rolle für diese spezifische Ressource erstellen bei.

  14. Wählen Sie Weiter aus. Dadurch wird die Seite Tags konfigurieren geöffnet.

  15. Wählen Sie erneut Weiter aus. Dadurch wird die Seite Überprüfen und erstellen geöffnet.

  16. Überprüfen Sie die Details der Regel und wählen Sie dann Create rule (Regel erstellen) aus.

    Die Regel wird erstellt und die Seite Regeln wird angezeigt, auf der alle Ihre Amazon- EventBridge Regeln aufgeführt sind.