Senden Sie ein benutzerdefiniertes Ereignis anEventBridge - 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.

Senden Sie ein benutzerdefiniertes Ereignis anEventBridge

Dieses Beispielprojekt veranschaulicht, wie Sie Step Functions verwenden, um ein benutzerdefiniertes Ereignis an einen Ereignisbus zu senden, der eine Regel mit mehreren Zielen übereinstimmt (AmazonEventBridge,AWS Lambda, Amazon Simple Notification Service, Amazon Simple Queue Service). Dieses Beispielprojekt erstellt Folgendes:

  • Amazon EventBridge

  • Amazon-SNS-Thema

  • Eine Amazon-SQS-Warteschlange

  • Eine Lambda-Funktion

  • ZugehörigeAWS Identity and Access Management(IAM) -Rollen

Weitere Informationen zu Step Functions und Step Functions Functions-Dienstintegrationen finden Sie im Folgenden:

Anmerkung

Für dieses Beispielprojekt können Gebühren anfallen.

Für neue AWS-Benutzer steht ein kostenloses Nutzungskontingent zur Verfügung. Im Rahmen dieses Kontingents sind die Services bis zu einem bestimmten Nutzungsumfang kostenlos. Weitere Informationen zu AWS-Kosten und zum kostenlosen Kontingent finden Sie unter EventBridge-Preise.

Erstellen des Zustandsautomaten und Bereitstellen von Ressourcen

  1. Öffnen SieStep Functions -Konsoleund wähleErstellen eines Zustandsautomatenaus.

  2. Klicken Sie aufFühren Sie ein Beispielprojekt ausKlicken Sie auf und danach aufSenden Sie ein benutzerdefiniertes Ereignis anEventBridgeaus.

    Der Code und der Visual Workflow des Zustandsautomaten werden angezeigt.

    
            Schulungsmodell-Workflow.
  3. Wählen Sie Next (Weiter) aus.

    Die Seite Deploy resources (Ressourcen bereitstellen) wird angezeigt und listet die Ressourcen auf, die erstellt werden. Die Ressourcen für dieses Beispielprojekt:

    • Ein AWS Step Functions-Zustandsautomat

    • Ein EventBridge-Ereignisbus

    • Eine EventBridge-Regel

    • Amazon-SNS-Thema

    • Eine Amazon-SQS-Warteschlange

    • Eine Lambda-Funktion

    • Zugehörige IAM-Rollen

  4. Wählen Sie Deploy Resources (Ressourcen bereitstellen) aus.

    Anmerkung

    Es kann bis zu 25 Minuten dauern, bis diese Ressourcen und dazugehörende IAM-Berechtigungen erstellt werden. Wenn die Seite Deploy resources (Ressourcen bereitstellen) anzeigt wird, können Sie den Link Stack ID (Stack-ID) öffnen, um zu sehen, welche Ressourcen bereitgestellt werden.

Starten einer neuen Ausführung

  1. Öffnen SieStep Functions -Konsoleaus.

  2. Auf derZustandsautomatenWählen Sie die SeiteEventBridgeStateMachineZustandsautomaten, die vom Beispielprojekt erstellt wurde, und wählen Sie dannStarten Sie die Ausführungaus.

  3. Geben Sie auf der Seite New execution (Neue Ausführung) einen Namen für die Ausführung (optional) ein und wählen Sie Start Execution (Ausführung starten).

  4. (Optional) Um die Ausführung zu identifizieren, können Sie imNameaus. Standardmäßig generiert Step Functions automatisch einen eindeutigen Ausführungsnamen.

    Anmerkung

    Mit Step Functions können Sie Statuscomputer-, Ausführungs- und Aktivitätsnamen erstellen, die Nicht-ASCII-Zeichen enthalten. Diese Nicht-ASCII-Namen funktionieren nicht mit AmazonCloudWatchaus. Um sicherzustellen, dass Sie verfolgen könnenCloudWatchMetriken, wählen Sie einen Namen, der nur ASCII-Zeichen verwendet.

  5. (Optional) Wechseln Sie in den Step Functions zum neu erstellten ZustandsautomatenDashboardKlicken Sie auf und danach aufNeue Ausführungaus.

  6. Wenn eine Ausführung abgeschlossen ist, können Sie imVisueller WorkflowUnd stöbern Sie imEingabeundAusgabeunterSchritt-Detailsaus.

Code des Zustandsautomaten aus diesem Beispiel

Der Zustandsautomat in diesem Beispielprojekt wird in integriertEventBridgeindem Sie ein benutzerdefiniertes Ereignis an eineEventBridge-Ereignisbus. Das an den Eventbus gesendete Ereignis stimmt mit einem übereinEventBridge-Regel, die eine Lambda-Funktion auslöst, die Nachrichten an ein Amazon-SNS-Thema und eine Amazon-SQS-Warteschlange sendet.

So durchsuchen Sie diesen Beispiel-Zustandsautomaten, um zu sehen, wie Step Functions verwaltetEventBridgeaus.

Weitere Informationen darüber, wie AWS Step Functions andere AWS-Services steuern kann, finden Sie unter Verwenden von AWS Step Functions mit sonstigen Services.

{ "Comment": "An example of the Amazon States Language for sending a custom event to Amazon EventBridge", "StartAt": "Send a custom event", "States": { "Send a custom event": { "Resource": "arn:<PARTITION>:states:::events:putEvents", "Type": "Task", "Parameters": { "Entries": [{ "Detail": { "Message": "Hello from Step Functions!" }, "DetailType": "MessageFromStepFunctions", "EventBusName": "<EVENT_BUS_NAME>", "Source": "my.statemachine" }] }, "End": true } } }

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

IAM Beispiel

Dieses BeispielAWS Identity and Access Management(IAM) -Richtlinien, die vom Beispielprojekt erstellt wurden, enthalten die geringstmöglichen Privilegien, die für die Ausführung des Zustandsautomaten und der verwandten Ressourcen erforderlich sind. Wir empfehlen, nur die erforderlichen Berechtigungen in die IAM-Richtlinien aufzunehmen.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "events:PutEvents" ], "Resource": [ "arn:aws:events:us-east-1:1234567890:event-bus/stepfunctions-sampleproject-eventbus" ], "Effect": "Allow" } ] }

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