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.
Erfahren Sie, wie Sie mit Step Functions beginnen
Mit dem Step Functions-Service können Sie komplexe Anwendungsworkflows orchestrieren. Zu Beginn verwenden Sie Workflow Studio, um einen integrierten Hello World-Workflow zu erstellen und auszuführen. Sie überprüfen die automatisch generierte Definition Sprache der Amazonas-Staaten (ASL) im Code. Schließlich ziehen Sie eine Serviceintegration per Drag-and-Drop, um eine Stimmungsanalyse durchzuführen.
Nachdem Sie dieses Tutorial abgeschlossen haben, wissen Sie, wie Sie Workflow Studio verwenden, um einen Workflow sowohl im Design - als auch im Code-Modus zu erstellen, zu konfigurieren, auszuführen und zu aktualisieren.
Geschätzte Dauer: 20-30 Minuten
Was wirst du bauen
Ihre erste Zustandsmaschine beginnt mit Flow-Zuständen. Flow-Status werden verwendet, um Ihren Arbeitsablauf zu steuern und zu steuern. Nachdem Sie gelernt haben, wie Sie den Workflow ausführen, fügen Sie eine Aktion hinzu, um den Amazon Comprehend-Service mit einem Aufgabenstatus zu integrieren.
Das folgende Diagramm zeigt eine Abbildung der kompletten Zustandsmaschine, die Sie erstellen werden. Wenn Sie den Hello World State Machine zum ersten Mal erstellen, benötigt er keine zusätzlichen Ressourcen, um ausgeführt zu werden. Die Step Functions-Konsole erstellt alle Status und eine IAM-Rolle mit einem einzigen Klick. Später, wenn Sie die Serviceintegration hinzufügen, müssen Sie eine Rolle mit einer benutzerdefinierten Berechtigungsrichtlinie erstellen.
Schritt 1 — Erstellen Sie Ihre Zustandsmaschine
In Step Functions werden Workflows als Zustandsmaschinen bezeichnet. Wir werden beide Begriffe synonym verwenden. Ihre Workflows werden Zustände enthalten, die entweder Maßnahmen ergreifen oder den Ablauf Ihrer Zustandsautomaten steuern.
-
Gehen Sie zur Step Functions-Konsole.
-
Wählen Sie in der Step Functions-Konsole in der oberen linken Navigationsleiste oder in den Breadcrumbs die Option „Step Functions“ aus und wählen Sie dann Get Started aus:
-
Wählen Sie aus den Optionen die Option Hello World ausführen aus:
Tipp
Wir empfehlen, die kurze Anleitung in der Konsole durchzugehen, um sich mit der Benutzeroberfläche vertraut zu machen.
Überblick über Workflow Studio
Mit Workflow Studio for Step Functions können Sie Status visuell per Drag-and-Drop auf eine Arbeitsfläche ziehen, um Workflows zu erstellen.
Sie können Status hinzufügen und bearbeiten, Schritte konfigurieren, Ergebnisse transformieren und die Fehlerbehandlung einrichten. Der folgende Screenshot zeigt vier wichtige Bereiche der Benutzeroberfläche, die Sie zum Erstellen Ihrer Zustandsautomaten verwenden werden.
Modi — Workflow Studio bietet drei Betriebsmodi und ist standardmäßig auf den visuellen Designmodus eingestellt.
-
Design — ein visueller Bearbeitungsmodus, in dem Sie Status per Drag-and-Drop in Ihren Arbeitsablauf ziehen können.
-
Code — ein Modus, der sich auf den Amazon States Language Code konzentriert, der auch als ASL-Code bekannt ist. Sie können den ASL-Code direkt bearbeiten und sehen, wie sich die Änderungen im visuellen Design widerspiegeln.
-
Config — Konfigurationsoptionen wie Name und Typ der Zustandsmaschine (Standard oder Express), zugewiesene Rolle bei der Ausführung des Workflows, Protokollierung, Ablaufverfolgung, Versionierung, Verschlüsselung und Tags.
Der Statusbrowser enthält die folgenden drei Registerkarten:
-
Aktionen — eine Liste von AWS APIs, die Sie per Drag-and-Drop in Ihren Workflow ziehen können. Jede Aktion steht für einen Task-Workflow-Status.
-
Ablauf — Ablaufstatus zur Steuerung der Reihenfolge der Schritte in Ihrem Arbeitsablauf.
-
Muster — gebrauchsfertige, wiederverwendbare Bausteine, z. B. für die iterative Verarbeitung von Daten in einem Amazon S3-Bucket.
Auf der Arbeitsfläche und im Workflow-Diagramm ziehen Sie Status per Drag-and-Drop in Ihr Workflow-Diagramm, ändern die Reihenfolge der Status und wählen die zu konfigurierenden und zu testenden Zustände aus.
Im Inspektorfenster können Sie die Eigenschaften aller auf der Arbeitsfläche ausgewählten Status anzeigen und bearbeiten. Sie können den Schalter „Definition“ einschalten, um den Code für den aktuell ausgewählten Bundesstaat anzuzeigen.
Überblick über die Zustandsmaschine
Der Hello World-Workflow beginnt mit dem Status Pass, der die Eingabe an die Ausgabe weiterleitet, ohne dass eine Arbeit ausgeführt wird. Pass-States können verwendet werden, um statische JSON-Ausgaben zu generieren oder JSON-Eingaben zu transformieren, bevor die Daten an den nächsten Status übergeben werden. Pass-States sind nützlich beim Konstruieren und Debuggen von Zustandsmaschinen.
Der nächste Status, ein Choice-Status, verwendet die darin enthaltenen Daten, IsHelloWorldExample um den nächsten Zweig des Workflows auszuwählen. Wenn die erste Regel zutrifft, pausiert der Workflow im Status Wait und führt dann zwei Aufgaben im Status Parallel aus, bevor er zu einem Checkpoint übergeht und der Workflow erfolgreich beendet wird. Wenn es keine Übereinstimmung gibt, wechselt der Workflow standardmäßig in den Status Fail, bevor die Zustandsmaschine gestoppt wird.
Der Status „Warten“ kann nützlich sein, wenn Sie eine Wartezeit einplanen möchten, bevor Sie weitere Arbeiten ausführen. Vielleicht wartet Ihr Workflow nach einer Bestellung 30 Sekunden, sodass Ihr Kunde Zeit hat, eine falsche Lieferadresse zu erkennen und zu korrigieren.
In parallelen Zuständen können mehrere Prozesse für Ihre Daten ausgeführt werden. Vielleicht druckt der Workflow gleichzeitig ein Bestellticket, aktualisiert den Bestand und erweitert den täglichen Verkaufsbericht.
Sehen Sie sich den Workflow-Code (ASL) an
Ihre erste Zustandsmaschine ist in der Tat ziemlich detailliert, also schauen Sie sich den Code genauer an.
Zustandsmaschinen werden mithilfe der Amazon States Language (ASL) definiert
Um die gesamte Definition von Zustandsmaschinen anzuzeigen
-
Wählen Sie die Schaltfläche {} Code, um den ASL-Code anzuzeigen.
-
Sehen Sie sich den Code auf der linken Seite an und vergleichen Sie ihn mit dem State-Machine-Diagramm auf der rechten Seite.
-
Wählen Sie auf der Leinwand einige Bundesstaaten aus, die Sie überprüfen möchten. Wählen Sie beispielsweise den Bundesstaat Choice aus.
Haben Sie bemerkt, wie die Definition des Bundesstaates in der Codeansicht hervorgehoben wird?
Um den Code im Inspector anzuzeigen
-
Wechseln Sie zurück in den Designmodus.
-
Erweitern Sie das Inspektorfenster auf der rechten Seite.
-
Wählen Sie im Workflow-Diagramm auf der Leinwand den Status „Auswahl“ aus.
-
Wählen Sie im Bereich „Inspektor“ den Schalter „Definition“.
Versuchen Sie, andere Bundesstaaten auszuwählen. Sehen Sie, wie der ASL-Code für jedes Bundesland, das Sie auswählen, in die Ansicht gescrollt und hervorgehoben wird?
(Eigentlich) Erstellen Sie die Zustandsmaschine
Warnung: Benennen Sie jetzt Ihre Zustandsmaschine!
Sie können eine Zustandsmaschine nicht umbenennen, nachdem Sie sie erstellt haben. Wählen Sie einen Namen, bevor Sie Ihren State Machine speichern.
Bis jetzt haben Sie an einem Entwurf Ihrer Zustandsmaschine gearbeitet. Es wurden noch keine Ressourcen erstellt.
Um Ihre Zustandsmaschine umzubenennen und zu erstellen
-
Wählen Sie den Konfigurationsmodus.
-
Geben Sie für den Namen der Zustandsmaschine Folgendes ein
MyFirstStateMachine -
Akzeptieren Sie für Berechtigungen die Standardeinstellung „Neue Rolle erstellen“.
-
Wählen Sie die Schaltfläche „Erstellen“, um Ihre Zustandsmaschine tatsächlich zu erstellen.
Sie sollten Benachrichtigungen erhalten, dass Ihr Zustandsautomat und eine neue IAM-Rolle erstellt wurden.
Ihnen wird automatisch die Option angezeigt, den State Machine zu starten. Das wirst du im nächsten Schritt tun!
Erstellung des Workflows abgeschlossen!
Step Functions hat Ihren Workflow und Ihre IAM-Rolle erstellt. Jetzt sind Sie bereit, Ihren State Machine zu starten.
Schritt 2 — Starten Sie Ihren State Machine
Nachdem Ihr State Machine erstellt wurde, können Sie Ihren Workflow starten.
Workflows nehmen optional Eingaben entgegen, die im jeweiligen Status verwendet, an integrierte Dienste gesendet und an den nächsten Status weitergeleitet werden können.
Die Hello World-Zustandsmaschine ist in sich abgeschlossen und benötigt keine Eingaben.
Um die Zustandsmaschine zu starten
-
Geben
hello001Sie den Namen der Ausführung ein. -
Lassen Sie das Eingabefeld leer.
-
Wählen Sie die Schaltfläche Ausführung starten.
Überprüfen Sie die Ausführungsdetails
Unmittelbar nach dem Start sollten Sie sehen, dass die ersten beiden Zustände erfolgreich waren.
Nach einer kurzen Wartezeit werden die restlichen Zustandsübergänge ausgeführt, um den Arbeitsablauf abzuschließen.
Fragen Sie sich, wie der Choice-Status (Is Hello World) ein Beispiel ist? ) hat beschlossen, in den Zustand Wait for X Seconds zu wechseln?
-
Hinweis: Der erste Schritt in der Zustandsmaschine enthält die Daten, die für die Branch-Entscheidung benötigt werden
-
In der Diagrammansicht können Sie den Fortschritt während der Ausführung überwachen und sich die Details zu jedem Status ansehen.
-
Wählen Sie den Status „First Pass“ (mit den Namen „Set Variables“ und „State Output“) aus und überprüfen Sie dann die Input/Output Registerkarte.
Sie sollten sehen, dass die State-Eingabe leer ist, die State-Ausgabe jedoch JSON enthält, das den Wert von IsHelloWorldExample auf festlegttrue.
Wechseln Sie von der Diagrammansicht zur Tabellenansicht, um eine Liste der Bundesstaaten nach Name, Typ und Status anzuzeigen.
Tipp
Beachten Sie die Felder Dauer und Zeitleiste im vorherigen Screenshot. Auf einen Blick können Sie sehen, welche Bundesstaaten mehr Zeit in Anspruch nehmen als andere.
Auf dieser Seite mit den Hinrichtungsdetails gibt es zwei weitere Ansichten, die Sie sich ansehen können: die Ereignisansicht und die Statusansicht.
Die Event-Ansicht ist eine detaillierte, granulare Ansicht des Ablaufs von Bundesstaat zu Bundesstaat.
Erweitern Sie das erste Ereignis PassStateEntered und die PassStateExited Ereignisse in der Tabelle „Event-Ansicht“, um zu sehen, dass der Status keine Eingaben entgegennimmt, eine Variable namens Nullwert zuweist und CheckpointCount die Ausgabe erzeugt, die Sie zuvor gesehen haben.
Schließlich haben Sie die Statusansicht, die der Tabellenansicht ähnelt. In der Tabelle mit der Statusansicht können Sie die Bundesstaaten selektiv erweitern, sodass nur die Ein- und Ausgänge für jeden Bundesstaat angezeigt werden:
Herzlichen Glückwunsch! Sie haben Ihre erste Step Functions-Zustandsmaschine ausgeführt!
Die Verwendung eines Pass-Status zum Hinzufügen statischer Daten zu einem Arbeitsablauf ist ein gängiges Muster, insbesondere bei der Problembehandlung.
Im nächsten Schritt aktualisieren Sie den Workflow, sodass Sie Ihre State-Machine-Eingabe dynamisch festlegen können.
Schritt 3 — Externe Eingaben verarbeiten
Es ist nicht realistischIsHelloWorldExample, den Wert von innerhalb des Workflows auf einen konstanten Wert festzulegen. Sie sollten damit rechnen, dass Ihre Zustandsmaschine auf unterschiedliche Eingabedaten reagiert.
In diesem Schritt zeigen wir Ihnen, wie externe JSON-Daten als Eingabe für Ihren Workflow verwendet werden können:
Entfernen Sie die hartcodierte Eingabe
Ersetzen Sie zunächst den hartcodierten Wert in der Ausgabe durch den Status „Erster Durchlauf“.
-
Bearbeiten Sie Ihren Hello World-Zustandsmaschine, indem Sie oben rechts auf der Seite auf die Schaltfläche Zustandsmaschine bearbeiten klicken.
-
Wählen Sie den ersten Pass-Status nach Start aus (mit den Namen „Variablen setzen“ und „State Output“) und wählen Sie dann den Tab „Ausgabe“.
-
Ersetzen Sie die Ausgabe durch das folgende JSON:
{ "IsHelloWorldExample": "{% $states.input.hello_world %}", "ExecutionWaitTimeInSeconds": "{% $states.input.wait %}" } -
Speichern Sie die Zustandsmaschine.
Die aktualisierte Statusausgabe ruft mithilfe eines JSONata-Ausdrucks Eingabedaten aus der reservierten Variablen $states ab. Diese Werte werden als Ausgabe an den nächsten Status übergeben, um als Eingabe für den nächsten Status zu dienen.
Führen Sie den aktualisierten Workflow mit Eingabedaten aus
Führen Sie als Nächstes den Workflow aus und geben Sie externe Eingabedaten als JSON an.
-
Wählen Sie die Schaltfläche „Ausführen“, um den Workflow auszuführen.
-
Verwenden Sie für den Namen die zufällig generierte ID.
-
Verwenden Sie das folgende JSON für das Eingabefeld:
{ "wait" : 20, "hello_world": true } -
Wählen Sie die Schaltfläche Ausführung starten.
Ihre State-Machine-Ausführung sollte viel länger warten (20 Sekunden), aber irgendwann sollte sie mit der von Ihnen angegebenen Eingabe erfolgreich sein.
Überprüfen Sie in der Diagrammansicht Input/Output den Status des ersten Durchlaufs. Beachten Sie, wie die von Ihnen eingegebene Eingabe in Ausgaben umgewandelt wurde. Schauen Sie sich auch die Eingabe und Ausgabe der Ausführung auf der Seite mit den Ausführungsdetails an. An beiden Stellen wird die Eingabe angezeigt, mit der Sie die Ausführung gestartet haben.
Tipp
Was erwarten Sie, wenn Sie eine neue Ausführung ausführen, bei der hello_world auf false gesetzt ist? Versuchen Sie es!
Überprüfen Sie die Workflow-Ausführungen
Nachdem Sie Ihren Workflow nun einige Male ausgeführt haben, überprüfen Sie die Ausführungsdetails, um die Ausführungen Ihres Workflows zu überprüfen.
Um die Ausführungsdetails zu überprüfen
-
Wählen Sie in der Navigationsleiste oder im Menü auf der linken Seite die Option State Machines aus.
-
Wählen Sie Ihre Zustandsmaschine aus.
Auf der Registerkarte „Ausführungen“ sollten Sie eine Liste der Ausführungen sehen, die dem folgenden Screenshot ähnelt:
Ein letzter Hinweis: Die Namen der Workflow-Ausführungen müssen eindeutig sein und können nicht wiederverwendet werden. Obwohl wir in diesem Tutorial einen Kurznamen (hello001) vorgeschlagen haben, empfehlen wir, eine Benennungskonvention zu verwenden, die für Ihre Produktionsworkloads immer eindeutig ist.
Tipp
Herzlichen Glückwunsch! Sie haben Ihren Workflow geändert, um externe Eingaben zu verarbeiten, die sich bei jeder Ausführung Ihres Workflows ändern können.
Schritt 4 — Integrieren Sie einen Dienst
State-Machines von Step Functions können mithilfe von AWS SDK-Integrationen über 220 AWS Dienste aufrufen. AWS Dienste bieten über 10.000 potenzielle API-Aktionen für Ihre Zustandsautomaten.
In diesem Schritt integrieren Sie eine Amazon Comprehend-Aufgabe zur Stimmungsanalyse, um Ihre Zustandsmaschine-Eingaben zu verarbeiten.
Wichtig
Die Amazon Comprehend DetectSentiment API, die in diesem Tutorial verwendet wird, ist nicht überall verfügbar. AWS-Regionen Um dieses Tutorial abzuschließen, verwenden Sie eine Region, in der Amazon Comprehend verfügbar ist, z. B. USA Ost (Nord-Virginia). us-east-1 Eine vollständige Liste der unterstützten Regionen finden Sie unter Amazon Comprehend-Endpunkte und Kontingente im.
Serviceintegrationen verwenden eines von drei Serviceintegrationsmustern:
-
Antwort anfordern (Standardeinstellung) — Warten Sie auf die HTTP-Antwort und fahren Sie dann sofort mit dem nächsten Status fort.
-
Einen Job ausführen (.sync) — warten Sie, bis ein Job abgeschlossen ist, bevor Sie mit dem nächsten Schritt fortfahren.
-
Warte auf Callback (.wait ForTaskToken) — pausiere einen Workflow, bis ein Task-Token von einem externen Prozess zurückgegeben wird.
Für Ihre erste Integration verwenden Sie das Integrationsmuster Request Response (Standard).
Wie funktionieren Integrationen?
Ein Aufgabenstatus steht für eine einzelne Arbeitseinheit, die von einer Zustandsmaschine ausgeführt wird. Die gesamte Arbeit in Ihrer Zustandsmaschine wird durch Aufgaben durchgeführt.
Eine Aufgabe erledigt normalerweise Arbeit, indem sie Eingaben an die API-Aktionen anderer Dienste weiterleitet, die dann ihre eigene Arbeit ausführen. Sie können angeben, wie eine Aufgabe ausgeführt wird, indem Sie eine Reihe von Feldern verwenden CredentialsRetry, darunter:Catch,TimeoutSeconds, und mehr. Weitere Informationen zu Aufgaben finden Sie unterWorkflow-Status der Aufgabe.
Um AWS SDK-Integrationen zu verwenden, geben Sie den Dienstnamen und die API an, die aufgerufen werden sollen. Für einige Integrationen sind auch Parameter erforderlich.
Sie können Amazon States Language verwenden, um eine AWS API-Aktion im Feld Ressource eines Aufgabenstatus anzugeben. Sie können dem Servicenamen optional einen Serviceintegrationstyp hinzufügen.
Um eine API-Aktion anzugeben, verwenden Sie die folgende Vorlage für Ressourcennamen:
arn:aws:states:::aws-sdk:serviceName:apiAction.[serviceIntegrationPattern]
Parametername: Groß-/Kleinschreibung
Beachten Sie, dass API-Aktionen in CamelCase (Anfangsbuchstabe in Kleinbuchstaben), aber in Pascal-Schreibweise (Anfangsbuchstabe in Großbuchstaben) angezeigt ParameterNames werden.
Beispiele für Ressourcennamen
-
arn:aws:states:::aws-sdk:ec2:describeInstancesgibt die Ergebnisse des Aufrufs der Amazon EC2 DescribeInstances API zurück. -
arn:aws:states:::aws-sdk:s3:listBucketsgibt die Ergebnisse des Aufrufs der Amazon S3-ListBuckets-API zurück. -
arn:aws:states:::aws-sdk:sfn:startExecutionstartet eine geschachtelte Step Functions-State-Machine-Ausführung und gibt die Ergebnisse dieses Workflows zurück.
Wenn Step Functions einen anderen Dienst aufruft, der den Task Status verwendet, lautet das Standardmuster Request Response. Mit dem Request Response-Integrationsmuster ruft Step Functions einen Dienst auf, empfängt eine Antwort und geht sofort zum nächsten Status über.
Schritt 4.1 — Status der Stimmungsanalyse hinzufügen
-
Bearbeiten Sie Ihre MyFirstStateMachine Zustandsmaschine.
-
Suchen Sie im Statusbrowser im Bedienfeld „Aktionen“ nach
DetectSentiment. -
Ziehen Sie „Comprehend“ per Drag & Drop DetectSentiment in den Zweig „Standard“ des Bundesstaats „Auswahl“.
-
Wählen Sie den Status Fehlgeschlagen aus und löschen Sie ihn.
-
Ziehen Sie im Status-Browser auf der Registerkarte „Flow“ den Status „Erfolgreich“ danach DetectSentiment.
Schritt 4.2 — Konfigurieren Sie den Status der Stimmungsanalyse
-
Wählen Sie den Schritt „Verstehen“, um ihn im Inspektorfenster zu konfigurieren.
-
Wählen Sie die Registerkarte „Argumente und Ausgabe“ und ersetzen Sie dann die Argumente durch das folgende JSON:
{ "LanguageCode": "en", "Text": "{% %}" } -
Platzieren Sie den Cursor zwischen den Prozentzeichen:
{% %}und geben Sie Folgendes ein:$ -
Verwenden Sie die automatische Vervollständigung im Editor, um auszuwählen
states,dann tippe
.und wählecontextdann tippe
.und wähleExecution,dann tippe
.und wähleInput,Geben Sie abschließend ein,
.feedback_commentum die Anfangseingabe aus dem Context-Objekt abzurufen.
Nachdem Sie diese Optionen für die automatische Vervollständigung ausgewählt haben, sollten Sie das folgende JSON-Format für Ihre Statusargumente haben:
{ "LanguageCode": "en", "Text": "{% $states.context.Execution.Input.feedback_comment %}" }
Verwenden der automatischen Vervollständigung im Editor
Mit der automatischen Vervollständigung des Editors können Sie Ihre Optionen erkunden.
Auto-complete listet Ihre Variablen auf, die reservierte Reservierte Variable: $states $states-Variable, die das Kontextobjekt enthält, und verfügbare Funktionen mit ihren Definitionen!
Schritt 4.3 — Konfigurieren Sie eine Identitätsrichtlinie
Bevor Sie den Workflow ausführen können, müssen Sie eine Rolle und eine Richtlinie erstellen, damit die Zustandsmaschine API-Aufrufe an den externen Dienst ausführen kann.
So erstellen Sie eine IAM-Rolle für Step Functions
-
Gehen Sie auf einer neuen Registerkarte zur IAM-Konsole und wählen Sie Rollen aus.
-
Wählen Sie Create a new role.
-
Wählen Sie für den Typ Vertrauenswürdiger Entität die Option
AWS Service. -
Wählen Sie für Anwendungsfall
Step Functions. -
Wählen Sie unter Berechtigungen hinzufügen die Option Weiter aus, um die Standardrichtlinie zu akzeptieren. Nach dem Erstellen der Rolle fügen Sie eine Richtlinie für Comprehend hinzu.
-
Geben Sie unter Name
HelloWorldWorkflowRoleein. -
Wählen Sie Rolle erstellen aus.
Um eine Richtlinie zu Amazon Comprehend HelloWorldWorkflowRole hinzuzufügen
-
Wählen Sie die Rolle aus und bearbeiten Sie sie. HelloWorldWorkflowRole
-
Wählen Sie „Berechtigung hinzufügen“ und dann „Inline-Richtlinie erstellen“.
-
Wählen Sie Comprehend für den Dienst aus.
-
Wählen Sie unter Lesen und DetectSentiment dann Weiter
-
Geben Sie als Richtlinienname
DetectSentimentPolicyund dann Richtlinie erstellen ein.
Wenn Sie die Richtlinie überprüfen, werden Sie feststellen, dass alle Ressourcen die Aktion ausführen können "comprehend:DetectSentiment".
Um die IAM-Rolle an die Step Functions-Zustandsmaschine anzuhängen
-
Kehren Sie zur Bearbeitung Ihrer State Machine zurück und wählen Sie die Registerkarte Config aus.
-
Wählen Sie in der Dropdownliste Ausführungsrolle die Option aus
HelloWorldWorkflowRole. -
Speichern Sie Ihren State Machine.
Schritt 4.4 — Führen Sie Ihren State Machine aus
Beginnen Sie mit der Ausführung Ihrer Zustandsmaschine mit dem folgenden JSON als Eingabe:
{ "hello_world": false, "wait": 42, "feedback_comment" : "This getting started with Step Functions workshop is a challenge!" }
Ohne die richtige Richtlinie erhalten Sie einen Berechtigungsfehler, der dem folgenden ähnelt:
User: arn:aws:sts::account-id:assumed-role/StepFunctions-MyStateMachine-role is not authorized
to perform: comprehend:DetectSentiment because no identity-based policy allows the comprehend:DetectSentiment
action (Service: Comprehend, Status Code: 400, Request ID: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111)
Die vorherige Fehlermeldung informiert Sie darüber, dass Ihr State Machine nicht autorisiert ist, den externen Dienst zu nutzen. Gehen Sie einen Schritt zurück und stellen Sie sicher, dass Sie eine Identitätsrichtlinie konfiguriert haben.
Übe, was du gelernt hast!
Bevor Sie sich mit komplexeren Workflows befassen, üben Sie das Gelernte anhand der folgenden Aufgaben:
-
Überprüfe den DetectSentiment Schritt. Schauen Sie sich das input/output in den verschiedenen Ansichten an, um die Ergebnisse der Stimmungserkennung zu sehen.
-
Die Dauer des DetectSentiment Zustands finden Sie in der Tabellenansicht.
-
Ändern Sie den Kommentar in der JSON-Eingabe und führen Sie dann Ihre Zustandsmaschine erneut aus.
Weitere Informationen zu den Ergebnissen der Stimmungsanalyse finden Sie unter Amazon Comprehend — Sentiment.
Eine Möglichkeit, über die Integration von Request Response nachzudenken, ist, dass die Antwort im Allgemeinen nur eine Bestätigung der Anfrage darstellt. Bei einigen Integrationen, wie z. B. der Stimmungsanalyse, stellt die Bestätigung jedoch tatsächlich den Abschluss der Aufgabe dar.
Die wichtigste Erkenntnis ist, dass der Task Staat bei Request Response-Integrationen nicht auf die zugrundeliegende Aufgabe wartet. Um auf eine Antwort zu warten, müssen Sie sich mit dem Service-Integrationsmuster Run a Job (.sync) vertraut machen.
Herzlichen Glückwunsch!
Sie haben Ihren ersten State Machine erstellt und mithilfe des Request Response-Musters eine Aufgabe zur Stimmungsanalyse integriert.
Wir schätzen Ihr Feedback!
Wenn Sie dieses Tutorial für die ersten Schritte hilfreich fanden oder Vorschläge zur Verbesserung des Tutorials haben, teilen Sie uns dies mit, indem Sie die Feedback-Optionen auf dieser Seite verwenden.
Bereinigen von Ressourcen
Gehen Sie wie folgt vor, um die von Ihnen erstellten Ressourcen zu bereinigen:
-
Navigieren Sie in der AWS Konsole zur Seite
Step Functions. -
Wählen Sie im Navigationsbereich auf der linken Seite State Machines aus.
-
Wählen Sie das Symbol MyFirstStateMachine
-
Um die IAM-Rollen zu löschen
1 — Folgen Sie dem Link für die IAM-Rolle, um auf einer neuen Registerkarte zur IAM-Rollenseite zu gelangen. Löschen Sie die benutzerdefinierte zugehörige Rolle.
2 — Suchen Sie in IAM-Rollen nach der automatisch generierten Rolle, die Folgendes enthält.
MyFirstStateMachineLöschen Sie die automatisch generierte Rolle. -
Kehren Sie zur Registerkarte der Step Functions-Konsole zurück und wählen Sie das Drop-down-Menü Aktionen aus. Wählen Sie dann Löschen aus, um den State Machine zu löschen.
Ihr State Machine und die zugehörige Rolle sollten jetzt erfolgreich gelöscht werden.