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 Functions-Dienst können Sie komplexe Anwendungsworkflows orchestrieren. Zu Beginn verwenden Sie Workflow Studio, um einen integrierten Hello World-Workflow zu erstellen und auszuführen. Sie werden die automatisch generierte Amazon States Language (ASL) Definition im Code überprüfen. Schließlich erhalten Sie drag-and-drop eine Serviceintegration zur Stimmungsanalyse.
Nachdem Sie dieses Tutorial abgeschlossen haben, wissen Sie, wie Sie Workflow Studio verwenden, um einen Workflow sowohl im Entwurfs - als auch im Codemodus zu erstellen, zu konfigurieren, auszuführen und zu aktualisieren.
Geschätzte Dauer: 20-30 Minuten
Was du bauen wirst
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 der Workflow ausgeführt wird, fügen Sie eine Aktion hinzu, um den Amazon Comprehend-Service in einen Task-Status zu integrieren.
Das folgende Diagramm zeigt eine visuelle Darstellung 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 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 Staaten enthalten, die entweder Maßnahmen ergreifen oder den Ablauf Ihrer Zustandsmaschinen steuern.
-
Gehen Sie zur Step Functions Functions-Konsole.
-
Wählen Sie in der Step Functions-Konsole in der oberen linken Navigationsleiste oder in den Breadcrumbs "Step Functions" aus und wählen Sie dann Erste Schritte:
-
Wählen Sie aus den Optionen Run Hello World 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 drag-and-drop Zustände visuell auf einer Arbeitsfläche anzeigen, 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 Zustandsmaschinen verwenden werden.
Modi — Workflow Studio bietet drei Betriebsmodi und ist standardmäßig auf den visuellen Designmodus eingestellt.
-
Design — ein visueller Bearbeitungsmodus, in dem Sie drag-and-drop Status in Ihren Workflow einfügen können.
-
Code — ein Modus, der sich auf den Amazon States-Sprachcode konzentriert, der auch als ASL Code bezeichnet wird. Sie können den ASL Code direkt bearbeiten und sehen, wie sich die Änderungen im visuellen Design widerspiegeln.
-
Konfiguration — Konfigurationsoptionen, einschließlich Name und Typ der Zustandsmaschine (Standard oder Express), zugewiesene Rolle bei der Ausführung des Workflows, Protokollierung, Ablaufverfolgung, Versionierung, Verschlüsselung und Tags.
Der States-Browser enthält die folgenden drei Registerkarten:
-
Aktionen — eine Liste der Aktionen AWS APIs, die Sie drag-and-drop in Ihren Workflow integrieren können. Jede Aktion steht für einen Workflow-Status einer Aufgabe.
-
Flow — Ablaufstatus zur Steuerung der Reihenfolge der Schritte in Ihrem Workflow.
-
Muster — ready-to-use wiederverwendbare Bausteine, wie z. B. die iterative Verarbeitung von Daten in einem Amazon S3 S3-Bucket.
In der Arbeitsfläche und im Workflow-Diagramm wechseln Sie drag-and-drop zu Ihrem Workflow-Diagramm, ändern die Reihenfolge der Zustände und wählen die Status aus, die konfiguriert und getestet werden sollen.
Im Inspektorfenster können Sie die Eigenschaften jedes auf der Leinwand ausgewählten Status anzeigen und bearbeiten. Sie können den Schalter Definition aktivieren, um den Code für den aktuell ausgewählten Status anzuzeigen.
Überblick über die Zustandsmaschine
Der Hello World-Workflow beginnt mit einem Pass-Status, der seine Eingabe an seine Ausgabe weitergibt, ohne Arbeit auszuführen. Pass-Status 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-Status sind nützlich beim Konstruieren und Debuggen von Zustandsmaschinen.
Der nächste Status, ein Choice-Status, verwendet die Daten, IsHelloWorldExample
um den nächsten Zweig des Workflows auszuwählen. Wenn die erste Regel zutrifft, pausiert der Workflow im Status Warten 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, nimmt der Workflow standardmäßig den Status Fehlgeschlagen an, bevor der Zustandsmaschine angehalten wird.
Wartestatus kann nützlich sein, wenn Sie warten möchten, bevor Sie weitere Arbeiten ausführen. Möglicherweise wartet Ihr Workflow nach einer Auftragseingabe 30 Sekunden, sodass Ihr Kunde Zeit hat, eine falsche Lieferadresse zu bemerken und zu korrigieren.
Parallele Zustände können mehrere Prozesse auf Ihren Daten ausführen. Möglicherweise druckt der Workflow gleichzeitig ein Bestellticket, aktualisiert das Inventar und erstellt einen täglichen Verkaufsbericht.
Sehen Sie sich den Workflow-Code an () ASL
Ihr erster Zustandsmaschine ist in der Tat ziemlich detailliert. Gehen Sie also näher darauf ein, indem Sie sich den Code ansehen.
Zustandsmaschinen werden mithilfe von Amazon States Language (ASL)
Um die gesamte Zustandsmaschinen-Definition anzuzeigen
-
Wählen Sie die Schaltfläche {} Code, um den ASL Code anzuzeigen.
-
Sehen Sie sich den Code links an und vergleichen Sie ihn mit dem State-Machine-Diagramm auf der rechten Seite.
-
Wählen Sie einige Staaten auf der Leinwand aus, die Sie überprüfen möchten. Wählen Sie beispielsweise den Status „Auswahl“ aus.
Ist Ihnen aufgefallen, wie die Definition des Bundesstaates in der Codeansicht hervorgehoben ist?
Um Code im Inspector anzuzeigen
-
Wechseln Sie zurück in den Entwurfsmodus.
-
Erweitern Sie das Inspektorfenster auf der rechten Seite.
-
Wählen Sie im Workflow-Diagramm im Canvas-Bereich den Status „Auswahl“ aus.
-
Wählen Sie im Inspektorfenster den Schalter Definition.
Versuchen Sie, andere Bundesstaaten auszuwählen. Siehst du, wie der ASL Code für jeden Bundesstaat, den du auswählst, 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 Ihres State Machine gearbeitet. Es wurden noch keine Ressourcen erstellt.
Um Ihre Zustandsmaschine umzubenennen und zu erstellen
-
Wählen Sie den Konfigurationsmodus.
-
Geben Sie als Namen der Zustandsmaschine 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 darüber erhalten, dass Ihr Zustandsmaschine und eine neue IAM Rolle erstellt wurden.
Sie erhalten automatisch die Option, die Zustandsmaschine zu starten. Das wirst du im nächsten Schritt tun!
Workflow-Erstellung 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 mit der Ausführung Ihres Workflows beginnen.
Workflows akzeptieren optional Eingaben, die im Status verwendet, an integrierte Dienste gesendet und an den nächsten Status übergeben werden können.
Die Hello World-Zustandsmaschine ist eigenständig und benötigt keine Eingabe.
Um die Zustandsmaschine zu starten
-
Geben
hello001
Sie 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 Status erfolgreich waren.
Nach einer kurzen Wartezeit werden die restlichen Statusübergänge ausgeführt, um den Workflow abzuschließen.
Fragst du dich, wie der Status Choice aussieht (ist Hello World Beispiel)? ) hat beschlossen, in den Status 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 Details für jeden Status einsehen.
-
Wählen Sie den Status „Erste Prüfung“ (mit den Namen „Variablen setzen“ und „Ausgabe des Zustands“) und überprüfen Sie dann die Registerkarte „Eingabe/Ausgabe“.
Sie sollten sehen, dass die State-Eingabe leer ist, die State-Ausgabe jedoch enthältJSON, die den Wert auf festlegt. IsHelloWorldExample
true
Wechseln Sie von der Diagrammansicht zur Tabellenansicht, um eine Liste der Bundesstaaten nach Name, Typ und Status anzuzeigen.
Tipp
Notieren Sie sich die Felder Dauer und Zeitleiste im vorherigen Screenshot. Auf einen Blick können Sie sehen, welche Staaten mehr Zeit in Anspruch nehmen als andere.
Auf dieser Seite mit den Ausführungsdetails gibt es zwei weitere Ansichten zu entdecken: die Ereignisansicht und die Statusansicht.
Die Ereignisansicht ist eine detaillierte detaillierte Ansicht des Datenflusses von Status zu Status.
Erweitern Sie das erste PassStateEnteredund die PassStateExitedEreignisse in der Tabelle „Ereignisansicht“, um zu sehen, wie der Status keine Eingaben akzeptiert, eine Variable mit CheckpointCount
dem Wert Null zuweist und 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 Status selektiv erweitern, sodass nur die Eingaben und Ausgaben für jeden Status angezeigt werden:
Herzlichen Glückwunsch! Sie haben Ihre erste Step Functions Functions-Zustandsmaschine ausgeführt!
Die Verwendung eines Pass-Status zum Hinzufügen statischer Daten zu einem Workflow 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 — Verarbeiten Sie externe Eingaben
Es ist nicht realistischIsHelloWorldExample
, den Wert von innerhalb des Workflows auf einen konstanten Wert festzulegen. Sie sollten davon ausgehen, 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 im Status „Ausgabe des ersten Durchlaufs“.
-
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 (mit dem Namen „Variablen festlegen“ und „Statusausgabe“) und wählen Sie dann die Registerkarte „Ausgabe“.
-
Ersetzen Sie den Output durch folgenden WertJSON:
{ "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 und dienen als Eingabe für den nächsten Status.
Führen Sie den aktualisierten Workflow mit den Eingabedaten aus
Führen Sie als Nächstes den Workflow aus und geben Sie externe Eingabedaten als anJSON.
-
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 Folgendes JSON für das Eingabefeld:
{ "wait" : 20, "hello_world": true }
-
Wählen Sie die Schaltfläche Ausführung starten.
Die Ausführung Ihrer Zustandsmaschine sollte viel länger warten (20 Sekunden), aber irgendwann sollte sie mit der von Ihnen eingegebenen Eingabe erfolgreich sein.
Überprüfen Sie in der Diagrammansicht die Eingabe/Ausgabe für den Status „First Pass“. Beachten Sie, wie die von Ihnen eingegebene Eingabe in Ausgaben umgewandelt wurde. Sehen Sie sich auch die Eingabe und Ausgabe der Ausführung oben 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.
Auf der Registerkarte Ausführungen sollte eine Liste von Ausführungen angezeigt werden, die dem folgenden Screenshot ähnelt:
Ein letzter Hinweis: Die Namen der Workflow-Ausführung 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 so geändert, dass er externe Eingaben verarbeitet, die sich bei jeder Ausführung Ihres Workflows ändern können.
Schritt 4 — Integrieren Sie einen Service
Step Functions Functions-Zustandsmaschinen können mithilfe von AWS SDKIntegrationen über 220 AWS Dienste aufrufen. AWS Dienste bieten über 10.000 potenzielle API Aktionen für Ihre Zustandsmaschinen.
In diesem Schritt integrieren Sie eine Amazon Comprehend Comprehend-Aufgabe zur Stimmungsanalyse, um Ihre State-Machine-Eingaben zu verarbeiten.
Serviceintegrationen verwenden eines von drei Serviceintegrationsmustern:
-
Antwort anfordern (Standard) — Warten Sie auf eine HTTP Antwort und fahren Sie dann sofort mit dem nächsten Status fort.
-
Job ausführen (.sync) — Warten Sie, bis ein Job abgeschlossen ist, bevor Sie mit dem nächsten Schritt fortfahren.
-
Warte auf Rückruf (. waitForTaskToken) — Unterbrechen Sie einen Workflow, bis ein Aufgabentoken von einem externen Prozess zurückgegeben wird.
Für Ihre erste Integration verwenden Sie das Integrationsmuster Request Response (Standard).
Wie funktionieren Integrationen?
Ein Task-Status 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 führt in der Regel Arbeit aus, indem sie Eingaben an die API Aktionen anderer Dienste weitergibt, die dann ihre eigene Arbeit ausführen. Sie können angeben, wie eine Aufgabe ausgeführt wird, indem Sie eine Reihe von Feldern verwendenCredentials
, darunter: Retry
Catch
,TimeoutSeconds
,, und mehr. Weitere Informationen zu Aufgaben finden Sie unterWorkflow-Status der Aufgabe.
Um AWS SDK Integrationen zu verwenden, geben Sie den Namen des Dienstes und den Aufruf APIan. 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 Service-Integrationstyp hinzufügen.
Um eine API Aktion anzugeben, verwenden Sie die folgende Vorlage für einen Ressourcennamen:
arn:aws:states:::aws-sdk:serviceName:apiAction.[serviceIntegrationPattern]
Groß-/Kleinschreibung des Parameters
Beachten Sie, dass API Aktionen camelCase(Anfangsbuchstaben in Kleinbuchstaben), aber in Pascal-Schreibweise (Anfangsbuchstaben in Großbuchstaben) ausgeführt ParameterNameswerden.
Beispiele für Ressourcennamen
-
arn:aws:states:::aws-sdk:ec2:describeInstances
wird die Ergebnisse des Anrufs bei Amazon zurückgeben EC2 describeInstances API. -
arn:aws:states:::aws-sdk:s3:listBuckets
gibt die Ergebnisse des Aufrufs von Amazon S3 zurück listBuckets API. -
arn:aws:states:::aws-sdk:sfn:startExecution
startet die Ausführung einer verschachtelten Step Functions Functions-Zustandsmaschine und gibt die Ergebnisse dieses Workflows zurück.
Wenn Step Functions einen anderen Dienst unter Verwendung des Task
Status aufruft, ist das Standardmuster Request Response. Mit dem Request Response-Integrationsmuster ruft Step Functions einen Dienst auf, empfängt eine Antwort und wechselt sofort zum nächsten Status.
Schritt 4.1 — Status der Stimmungsanalyse hinzufügen
-
Bearbeiten Sie Ihre MyFirstStateMachineZustandsmaschine.
-
Suchen Sie im States-Browser im Bereich Aktionen nach
DetectSentiment
. -
Ziehen Sie Comprehend per Drag & Drop DetectSentiment auf den Standardzweig des Status Choice.
-
Wählen Sie den Status Fehlgeschlagen aus und löschen Sie ihn.
-
Ziehen Sie im States-Browser auf der Registerkarte Flow den Status Success nach hinten DetectSentiment.
Schritt 4.2 — Konfigurieren Sie den Status der Stimmungsanalyse
-
Wählen Sie den Schritt Comprehend, um ihn im Inspektorfenster zu konfigurieren.
-
Wählen Sie die Registerkarte „Argumente und Ausgabe“ und ersetzen Sie dann die Argumente durch Folgendes: JSON
{ "LanguageCode": "en", "Text": "{% %}" }
-
Platzieren Sie den Cursor zwischen den Prozentzeichen:
{% %}
und geben Sie ein:$
-
Verwenden Sie die automatische Vervollständigung im Editor, um auszuwählen
states
,dann tippe
.
und wählecontext
,dann tippe
.
und wähleExecution
dann tippe
.
und wähleInput
Geben Sie abschließend ein,
.feedback_comment
um die erste Eingabe aus dem Kontextobjekt abzurufen.
Nachdem Sie diese Optionen für die automatische Vervollständigung ausgewählt haben, sollten Sie die folgenden Argumente JSON für Ihre Bundesstaaten haben:
{ "LanguageCode": "en", "Text": "{% $states.context.Execution.Input.feedback_comment %}" }
Verwenden der automatischen Vervollständigung des Editors
Mit der automatischen Vervollständigung des Editors können Sie Ihre Optionen erkunden.
Die automatische Vervollständigung listet Ihre Variablen, die reservierte $states-Variable, die das Kontextobjekt enthält, und die verfügbaren Funktionen mit ihren Definitionen auf!
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 der 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 unter Vertrauenswürdiger Entitätstyp die Option
AWS Service
. -
Wählen Sie für Anwendungsfall
Step Functions
. -
Wählen Sie für Berechtigungen hinzufügen die Option Weiter aus, um die Standardrichtlinie zu akzeptieren. Nachdem Sie die Rolle erstellt haben, fügen Sie eine Richtlinie für Comprehend hinzu.
-
Geben Sie unter Name
HelloWorldWorkflowRole
ein. -
Wählen Sie Rolle erstellen.
So fügen Sie dem HelloWorldWorkflowRolefür Amazon Comprehend eine Richtlinie hinzu
-
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 Service aus.
-
Wählen Sie unter Lesen die Option DetectSentimentWeiter
-
Geben Sie als Richtlinienname den
DetectSentimentPolicy
Text Richtlinie erstellen ein. Sie hätten eine Richtlinie wie JSON folgt erstellen sollen:{ "Version": "2012-10-17", "Statement": [ { "Action": [ "comprehend:DetectSentiment" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
Um die IAM Rolle an die Step Functions Functions-Zustandsmaschine anzuhängen
-
Kehren Sie zur Bearbeitung Ihrer Zustandsmaschine zurück und wählen Sie die Registerkarte Config aus.
-
Wählen Sie in der Dropdownliste „Ausführungsrolle“ die Option aus
HelloWorldWorkflowRole
. -
Speichern Sie Ihre Zustandsmaschine.
Schritt 4.4 — Führen Sie Ihren State Machine aus
Starten Sie die Ausführung Ihrer Zustandsmaschine mit JSON den folgenden Eingaben:
{ "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::123456789012: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)
In der vorherigen Fehlermeldung werden Sie darüber informiert, dass Ihre Zustandsmaschine nicht berechtigt ist, den externen Dienst zu verwenden. 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 Arbeitsabläufen befassen, üben Sie das Gelernte anhand der folgenden Aufgaben:
-
Überprüfen Sie den DetectSentimentSchritt. Sehen Sie sich die Eingabe/Ausgabe in den verschiedenen Ansichten an, um die Ergebnisse der Stimmungserkennung zu sehen.
-
Finden Sie die Dauer des DetectSentiment Zustands in der Tabellenansicht.
-
Ändern Sie den Kommentar in der JSONEingabe 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 besteht darin, dass der Task
Staat nicht auf die zugrundeliegende Aufgabe wartet, wenn es um Request-Response-Integrationen geht. Um auf eine Antwort zu warten, müssen Sie das Dienstintegrationsmuster Run a Job (.sync) untersuchen.
Herzlichen Glückwunsch!
Sie haben Ihre erste Zustandsmaschine erstellt und mithilfe des Request Response-Musters eine Aufgabe zur Stimmungsanalyse integriert.
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 IAMRolle, um zur IAM Rollenseite in einem neuen Tab zu gelangen. Löschen Sie die benutzerdefinierte zugehörige Rolle.
2 - Suchen Sie unter IAM Rollen nach der automatisch generierten Rolle, die enthält
MyFirstStateMachine
. Löschen Sie die automatisch generierte Rolle. -
Kehren Sie zur Registerkarte der Step Functions Functions-Konsole zurück und wählen Sie das Drop-down-Menü Aktionen aus. Wählen Sie dann Löschen aus, um die Zustandsmaschine zu löschen.
Ihr Zustandsmaschine und die zugehörige Rolle sollten jetzt erfolgreich gelöscht werden.