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.
Verwenden des Inline-Map-Status zur Wiederholung einer Aktion in Step Functions
Dieses Tutorial hilft Ihnen bei den ersten Schritten mit der Verwendung des Map
Status im Inline-Modus. Sie verwenden den Inline-Map-Status in Ihren Workflows, um wiederholt eine Aktion auszuführen. Weitere Informationen zum Inline-Modus finden Sie unter Zuordnen des Status im Inline-Modus.
In diesem Tutorial verwenden Sie den Inline-Map-Status, um wiederholt Universally Unique Identifiers (v4UUID) der Version 4 zu generieren. Sie beginnen mit der Erstellung eines Workflows, der zwei Workflow-Status übergeben Status und einen Inline-Map-Status im Workflow Studio enthält. Anschließend konfigurieren Sie die Eingabe und Ausgabe, einschließlich des JSON Eingabearrays für den Map
Status. Der Map
Status gibt ein Ausgabearray zurück, das die Version 4 enthält, die für jedes Element im Eingabearray UUIDs generiert wurde.
Schritt 1: Erstellen Sie den Workflow-Prototyp
In diesem Schritt erstellen Sie den Prototyp für Ihren Workflow mit Workflow Studio. Workflow Studio ist ein visueller Workflow-Designer, der in der Step Functions-Konsole verfügbar ist. Sie wählen die erforderlichen Status auf der Registerkarte Flow aus und verwenden die Drag-and-Drop-Funktion von Workflow Studio, um den Workflow-Prototyp zu erstellen.
Öffnen Sie die Step Functions Functions-Konsole
und wählen Sie Create State Machine. Wählen Sie im Dialogfeld Vorlage auswählen die Option Leer aus.
-
Wählen Sie „Auswählen“, um Workflow Studio in zu öffnenEntwurfsmodus.
Ziehen Sie aus dem Flow-Tab einen Pass-Status und legen Sie ihn in den leeren Status mit der Bezeichnung Drag First state here ab.
Ziehen Sie einen Kartenstatus und legen Sie ihn unter den Status Pass ab. Benennen Sie den Kartenstatus um in
Map demo
.Ziehen Sie einen zweiten Pass-Status und legen Sie ihn innerhalb des Map-Demo-Status ab.
Benennen Sie den zweiten Pass-Status in um
Generate UUID
.
Schritt 2: Eingabe und Ausgabe konfigurieren
In diesem Schritt konfigurieren Sie Eingabe und Ausgabe für alle Status in Ihrem Workflow-Prototyp. Zunächst fügen Sie mithilfe des ersten Pass-Status einige feste Daten in den Workflow ein. Dieser Status „Pass“ gibt diese Daten als Eingabe an den Map-Demo-Status weiter. In dieser Eingabe geben Sie den Knoten an, der das Eingabearray enthält, über das der Map-Demostatus iteriert werden soll. Dann definieren Sie den Schritt, den der Map-Demostatus wiederholen soll, um die Version 4 UUIDs zu generieren. Schließlich konfigurieren Sie die Ausgabe so, dass sie bei jeder Wiederholung zurückkehrt.
Wählen Sie den ersten Pass-Status in Ihrem Workflow-Prototyp aus. Geben Sie auf der Registerkarte Ausgabe unter Ergebnis Folgendes ein:
{ "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] }
Wählen Sie den Map-Demostatus und gehen Sie auf der Registerkarte Konfiguration wie folgt vor:
Wählen Sie „Pfad zum Artikelarray angeben“ aus.
Geben Sie den folgenden Referenzpfad an, um den Knoten auszuwählen, der das Eingabe-Array enthält:
$.colors
Wählen Sie den UUID Status Generate und gehen Sie auf der Registerkarte Eingabe wie folgt vor:
Wählen Sie „Eingabe mit Parametern transformieren“.
Geben Sie die folgende JSON Eingabe ein, um die Version v4 UUIDs für jedes der Eingabe-Array-Elemente zu generieren. Sie verwenden die
States.UUID
systeminterne Funktion, um die zu generieren. UUIDs{ "uuid.$": "States.UUID()" }
Wählen Sie für den UUID Status Generate die Registerkarte Ausgabe und gehen Sie wie folgt vor:
Wählen Sie „Ausgabe filtern mit OutputPath“.
Geben Sie den folgenden Referenzpfad ein, um den JSON Knoten auszuwählen, der die Ausgabe-Array-Elemente enthält:
$.uuid
Schritt 3: Automatisch generierte Definition überprüfen und speichern
Wenn Sie Status aus dem Flow-Bedienfeld auf die Arbeitsfläche ziehen und dort ablegen, erstellt Workflow Studio automatisch die Amazon States Language (ASL) -Definition Ihres Workflows in Echtzeit. Sie können diese Definition nach Bedarf bearbeiten.
-
(Optional) Wählen Sie im Inspektor-Panel Fenster Definition aus, um die automatisch generierte Amazon States-Sprachdefinition Ihres Workflows anzuzeigen.
Tipp
Sie können die ASL Definition auch im Workflow Studio einsehen. Code-Editor Im Code-Editor können Sie auch die ASL Definition Ihres Workflows bearbeiten.
Das folgende Beispiel zeigt die automatisch generierte Amazon States-Sprachdefinition für Ihren Workflow.
{ "Comment": "Using Map state in Inline mode", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "Map demo", "Result": { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] } }, "Map demo": { "Type": "Map", "ItemsPath": "$.colors", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "Generate UUID", "States": { "Generate UUID": { "Type": "Pass", "End": true, "Parameters": { "uuid.$": "States.UUID()" }, "OutputPath": "$.uuid" } } }, "End": true } } }
-
Geben Sie einen Namen für Ihre Zustandsmaschine an. Wählen Sie dazu das Bearbeitungssymbol neben dem Standardnamen der Zustandsmaschine von MyStateMachine. Geben Sie dann unter State-Machine-Konfiguration einen Namen in das Feld State-Machine-Name ein.
Geben Sie für dieses Tutorial den Namen
InlineMapDemo
ein. -
(Optional) Geben Sie unter State-Machine-Konfiguration weitere Workflow-Einstellungen an, z. B. den Zustandsmaschinentyp und seine Ausführungsrolle.
Behalten Sie für dieses Tutorial alle Standardauswahlen in der State-Machine-Konfiguration bei.
-
Wählen Sie im Dialogfeld „Rollenerstellung bestätigen“ die Option „Bestätigen“, um fortzufahren.
Sie können auch Rolleneinstellungen anzeigen wählen, um zur State-Machine-Konfiguration zurückzukehren.
Anmerkung
Wenn Sie die von Step Functions erstellte IAM Rolle löschen, kann Step Functions sie später nicht mehr neu erstellen. Ebenso kann Step Functions ihre ursprünglichen Einstellungen später nicht wiederherstellen, wenn Sie die Rolle ändern (z. B. indem Sie Step Functions aus den Prinzipalen in der IAM Richtlinie entfernen).
Schritt 4: Führen Sie die Zustandsmaschine aus
State-Machine-Ausführungen sind Instanzen, in denen Sie Ihren Workflow ausführen, um Aufgaben auszuführen.
-
Wählen Sie auf der InlineMapDemoSeite Ausführung starten aus.
-
Gehen Sie im Dialogfeld Ausführung starten wie folgt vor:
-
(Optional) Geben Sie einen benutzerdefinierten Ausführungsnamen ein, um den generierten Standard zu überschreiben.
ASCIINichtnamen und Protokollierung
Step Functions akzeptiert Namen für Zustandsmaschinen, Ausführungen, Aktivitäten und Beschriftungen, die ASCII Nichtzeichen enthalten. Da solche Zeichen nicht mit Amazon funktionieren, empfehlen wir CloudWatch, nur ASCII Zeichen zu verwenden, damit Sie die Messwerte verfolgen können CloudWatch.
-
(Optional) Geben Sie im Eingabefeld Eingabewerte im JSON Format ein, um Ihren Workflow auszuführen.
-
Wählen Sie Start execution (Ausführung starten) aus.
-
Die Step Functions Functions-Konsole leitet Sie zu einer Seite weiter, die mit Ihrer Ausführungs-ID betitelt ist. Diese Seite wird als Seite mit den Ausführungsdetails bezeichnet. Auf dieser Seite können Sie die Ausführungsergebnisse im Verlauf der Ausführung oder nach deren Abschluss überprüfen.
Um die Ausführungsergebnisse zu überprüfen, wählen Sie in der Diagrammansicht einzelne Status aus und wählen Sie dann die einzelnen Registerkarten im Einzelheiten zu den Schritten Bereich, um die Details der einzelnen Status, einschließlich Eingabe, Ausgabe und Definition, anzuzeigen. Einzelheiten zu den Ausführungsinformationen, die Sie auf der Seite mit den Ausführungsdetails einsehen können, finden Sie unterÜberblick über die Ausführungsdetails.
Um die Eingabe und Ausgabe der Ausführung anzuzeigen side-by-side, wählen Sie „Eingabe und Ausgabe der Ausführung“. Sehen Sie sich unter Ausgabe das vom
Map
Status zurückgegebene Ausgabe-Array an. Im Folgenden finden Sie ein Beispiel für das Ausgabe-Array:[ "a85cbc7b-4e65-4ac2-97af-80ed504adc1d", "b05bca11-d481-414e-aa9a-88285ec6590d", "f42d59f7-bd32-480f-b270-caddb518ce2a", "15f18616-517d-4b69-b7c3-bf22222d2efd", "690bcfee-6d58-408c-a6b4-1995ccafdbd2" ]
-