ItemsPath - 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.

ItemsPath

Verwenden Sie das ItemsPath Feld, um ein Array innerhalb einer JSON-Eingabe auszuwählen, die für einen Map Staat bereitgestellt wird. Der Map Status wiederholt eine Reihe von Schritten für jedes Element im Array. Standardmäßig ist der Map Status ItemsPath auf gesetzt$, wodurch die gesamte Eingabe ausgewählt wird. Wenn die Eingabe für den Map Status ein JSON-Array ist, führt es eine Iteration für jedes Element im Array aus und übergibt dieses Element als Eingabe an die Iteration.

Anmerkung

Sie können es ItemsPath im Status Distributed Map nur verwenden, wenn Sie eine JSON-Eingabe verwenden, die aus einem früheren Status im Workflow übergeben wurde.

Sie können das ItemsPath Feld verwenden, um eine Position in der Eingabe anzugeben, die auf das JSON-Array verweist, das für Iterationen verwendet wird. Der Wert von ItemsPath muss ein Referenzpfad sein, und dieser Pfad muss auf ein JSON-Array zeigen. Erwägen Sie beispielsweise die Eingabe in einen Map-Zustand, der zwei Arrays enthält, wie im folgenden Beispiel.

{ "ThingsPiratesSay": [ { "say": "Avast!" }, { "say": "Yar!" }, { "say": "Walk the Plank!" } ], "ThingsGiantsSay": [ { "say": "Fee!" }, { "say": "Fi!" }, { "say": "Fo!" }, { "say": "Fum!" } ] }

In diesem Fall könnten Sie angeben, welches Array für Map Zustands-Iterationen verwendet werden soll, indem Sie es mit ItemsPath auswählen. Die folgende State-Machine-Definition spezifiziert das ThingsPiratesSay Array in der Eingabe ItemsPath mithilfe. Anschließend wird für jedes Element im ThingsPiratesSay Array eine Iteration des SayWord Pass-Status ausgeführt.

{ "StartAt": "PiratesSay", "States": { "PiratesSay": { "Type": "Map", "ItemsPath": "$.ThingsPiratesSay", "ItemProcessor": { "StartAt": "SayWord", "States": { "SayWord": { "Type": "Pass", "End": true } } }, "End": true } } }

Bei der Verarbeitung von Eingaben gilt der Map Status ItemsPath danach InputPath. Es arbeitet mit der effektiven Eingabe für den Status, nachdem die Eingabe InputPath gefiltert wurde.

Weitere Informationen zu Map-Zuständen finden Sie im Folgenden: