Aufrufen von Synchrone Express-Workflows - 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.

Aufrufen von Synchrone Express-Workflows

Dieses Beispielprojekt veranschaulicht, wie Synchronous Express Workflows über Amazon API Gateway aufgerufen werden, um eine Mitarbeiterdatenbank zu verwalten. Dieses Beispielprojekt erstellt Folgendes:

  • Drei Zustandsautomaten.

  • Eine Amazon API Gateway HTTPS-API, die von einem Statuscomputer aufgerufen wird.

  • Eine Amazon DynamoDB DynamoDB-Tabelle.

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

In diesem Projekt verwendet Step Functions API-Gateway-Endpunkte, um Step Functions Synchrone Express-Workflows zu starten. Diese verwenden dann DynamoDB, um Mitarbeiter in einer Mitarbeiterdatenbank zu suchen, hinzuzufügen und zu entfernen.

Weitere Informationen zu Step Functions Functions-Synchronous Express-Workflows finden Sie unterSynchrone und asynchrone Express-Workflowsaus.

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 zuAWS-Kosten und das kostenlose Kontingent finden Sie unterStep Functions -Preiseaus.

Erstellen des Zustandsautomaten und Bereitstellen von Ressourcen

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

  2. Klicken Sie aufBeispielprojekteKlicken Sie auf und danach aufRufen Sie synchrone Express-Workflows über API Gateway aufaus.

    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:

    • Drei Zustandsautomaten

    • Eine DynamoDB-Tabelle

    • Eine API Gateway HTTPS-API

    • Zugehörige IAM-Rollen

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

    Anmerkung

    Es kann bis zu 10 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 den Zustandsautomaten aus, der 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 leichter 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 im Step Functions Functions-zum neu erstellten ZustandsautomatenDashboardKlicken Sie auf und danach aufNeue Ausführungaus.

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

Code des Zustandsautomaten aus diesem Beispiel

Der Zustandsmaschine in diesem Beispielprojekt lässt sich in API Gateway und DynamoDB integrieren, indem Sie API Gateway verwenden, um einen Synchronous Express-Workflow aufzurufen, der dann mit DynamoDB die Mitarbeiterdatenbank aktualisiert oder aus dieser liest.

Durchsuchen Sie diesen Beispiel-Zustandsautomaten, um zu sehen, wie Step Functions Functions-Daten aus DynamoDB-Leset, um Mitarbeiterinformationen abzurufen

Weitere Informationen zum Aufrufen von Step Functions mit API Gateway finden Sie im Folgenden.

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": "This state machine returns an employee entry from DynamoDB", "StartAt": "Read From DynamoDB", "States": { "Read From DynamoDB": { "Type": "Task", "Resource": "arn:aws:states:::dynamodb:getItem", "Parameters": { "TableName": "StepFunctionsSample-SynchronousExpressWorkflowAKIAIOSFODNN7EXAMPLE-DynamoDBTable-ANPAJ2UCCR6DPCEXAMPLE", "Key": { "EmployeeId": {"S.$": "$.employee"} } }, "Retry": [ { "ErrorEquals": [ "DynamoDB.AmazonDynamoDBException" ], "IntervalSeconds": 3, "MaxAttempts": 2, "BackoffRate": 1.5 } ], "Next": "Is Get Successful" }, "Is Get Successful": { "Type": "Choice", "Choices": [ { "Variable": "$.Item", "IsPresent": true, "Next": "Succeed Execution" } ], "Default": "Fail Execution" }, "Succeed Execution": { "Type": "Pass", "Parameters" : { "employee.$": "$.Item.EmployeeId.S", "jobTitle.$": "$.Item.JobTitle.S" }, "End": true }, "Fail Execution": { "Type": "Fail", "Error": "EmployeeDoesNotExist" } } }

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

IAM-Beispiele

Dieses BeispielAWS Identity and Access Management(IAM) -Beispielrichtlinien, 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 Ihre IAM-Richtlinien aufzunehmen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": "*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem" ], "Resource": [ "arn:aws:dynamodb:us-east-1:111122223333:table/Write" ] } ] }

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