EventBridge(CloudWatchEreignisse) für Änderungen des Ausführungsstatus 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(CloudWatchEreignisse) für Änderungen des Ausführungsstatus 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 Standard-Workflows von Step Functions reagieren, EventBridge indem Sie die folgenden zwei Methoden verwenden:

  • Sie können EventBridge Regeln so konfigurieren, dass sie auf Ereignisse reagieren, die ausgelöst werden, wenn sich der Ausführungsstatus einer Step Functions-State-Maschine ä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 der State-Machine-Ausführungen können Sie ein EventBridge Ziel verwenden, um neue State-Machine-Ausführungen zu starten, AWS Lambda Funktionen aufzurufen, Nachrichten zu Amazon Simple Notification Service (Amazon SNS) -Themen zu veröffentlichen und vieles mehr.

  • Sie können auch eine Step Functions State Machine als Ziel in konfigurierenEventBridge. Auf diese Weise können Sie die Ausführung eines Step Functions-Workflows als Reaktion auf ein Ereignis von einem anderen AWS Dienst auslösen.

    Weitere Informationen finden Sie im EventBridgeAmazon-Benutzerhandbuch.

Express Workflows geben jedoch keine Ereignisse anEventBridge. Um die Ausführung eines Express-Workflows zu überwachen, können Sie CloudWatch Logs verwenden. Wählen Sie dazu auf der Seite mit den Ausführungsdetails der Statusmaschine die Registerkarten Überwachung und Protokollierung aus. Auf der Registerkarte Überwachung können Sie die CloudWatch Metriken für Ereignisse wie Ausführungsdauer, Ausführungsfehler und abgerechneter Arbeitsspeicher einsehen. Auf der Registerkarte Protokollierung können Sie die letzten Protokolle und die Protokollierungskonfiguration einsehen.

Tipp

Um ein Beispiel für einen Express-Workflow für Sie bereitzustellen AWS-Konto und zu erfahren, wie Sie Express-Workflows überwachen können, lesen Sie das Modul Überwachung von Express-Workflows von The AWS Step Functions Workshop.

EventBridgeNutzlasten

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

  • Wenn die kombinierte Escape-Eingabe und die Escape-Ausgabe, an die gesendet wurden, 248 KB EventBridge überschreiten, wird die Eingabe ausgeschlossen. In ähnlicher Weise wird die Ausgabe ausgeschlossen, wenn die Escape-Ausgabe 248 KB überschreitet. Dies ist ein Ergebnis der EventBridge Veranstaltungsquoten.

  • Mit den Eigenschaften und können Sie feststellen, ob eine Payload gekürzt inputDetails wurde. outputDetails Weitere Informationen finden Sie unter CloudWatchEventsExecutionDataDetailsDatentyp.

  • Für Standard-Workflows können Sie sich die vollständige Eingabe und Ausgabe anzeigen lassen, indem Sie DescribeExecution.

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

Beispiele für Step Functions-Ereignisse

Im Folgenden finden Sie Beispiele für Step Functions, die Ereignisse senden anEventBridge:

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.

Die Ausführung hat begonnen

{ "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 } }

Exekution war 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 } } }

Die Ausführung ist 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 EventBridge an die EventBridge Konsole

Verwenden Sie die folgenden Anweisungen, um zu erfahren, wie Sie die Ausführung einer Step Functions-Statusmaschine auslösen können, wenn eine bestimmte Step Functions-Statusmaschine die Ausführung erfolgreich abgeschlossen hat. Sie verwenden die EventBridge Amazon-Konsole, um die State-Maschine anzugeben, deren Ausführung Sie auslösen möchten.

  1. Wählen Sie auf der Detailseite einer State-Maschine die Option Actions und dann Create EventBridge (CloudWatchEvents) rule aus.

    
            EventBridgeEventregel erstellen

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

  2. Wählen Sie Create rule (Regel erstellen). Dadurch wird die Detailseite „Regel definieren“ geöffnet.

  3. Geben Sie einen Namen fü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 Standardeinstellungen bei.

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

  6. Behalten Sie unter Eventquelle die Standardauswahl für AWSEreignisse oder EventBridge Partnerereignisse bei.

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

  8. Gehen Sie unter Ereignismuster wie folgt vor:

    1. Behalten Sie in der Dropdownliste Eventquelle die Standardauswahl der AWSDienste bei.

    2. Wählen Sie in der Dropdown-Liste der AWSDienste die Option Step Functions aus.

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

    4. (Optional) Konfigurieren Sie einen bestimmten Status, einen bestimmten Amazon Resource Name (ARN) für den Status der Maschine oder einen Ausführungs-ARN. Wählen Sie für dieses Verfahren Bestimmte Status (e) und wählen Sie dann in der Dropdown-Liste die Option ERFOLGREICH 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 AWSDienstes bei.

  11. Wählen Sie aus der Dropdown-Liste „Ziel auswählen“ einen AWS Dienst aus. Sie könnten beispielsweise eine Lambda-Funktion starten oder eine Step Functions State Machine ausführen. Wählen Sie für dieses Verfahren Step Functions state machine.

  12. Wählen Sie aus der Dropdown-Liste State Machine eine State Machine aus.

  13. Behalten Sie unter Ausführungsrolle die Standardauswahl 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. 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 mit den Regeln wird angezeigt, auf der alle Ihre EventBridge Amazon-Regeln aufgeführt sind.