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

ItemSelector

Standardmäßig ist die effektive Eingabe für den Map Status der Satz einzelner Datenelemente, die in der Rohzustandseingabe enthalten sind. In ItemSelector diesem Feld können Sie die Werte der Datenelemente überschreiben, bevor sie an den Map Staat weitergegeben werden. Um die Werte zu überschreiben, geben Sie eine gültige JSON-Eingabe an, die eine Sammlung von Schlüssel-Wert-Paaren enthält. Bei diesen Paaren kann es sich um statische Werte handeln, die in Ihrer State-Machine-Definition bereitgestellt werden, um Werte, die über einen Pfad aus der Zustandseingabe ausgewählt wurden, oder um Werte, auf die über das Kontextobjekt zugegriffen wird.

Wenn Sie Schlüssel-Wert-Paare mithilfe eines Pfad- oder Kontextobjekts angeben, muss der Schlüsselname mit enden. .$

Anmerkung

Das ItemSelector Feld ersetzt das Parameters Feld innerhalb des Map Bundesstaates. Wenn Sie das Parameters Feld in Ihren Map Statusdefinitionen verwenden, um benutzerdefinierte Eingaben zu erstellen, empfehlen wir dringend, sie durch zu ersetzenItemSelector.

Sie können das ItemSelector Feld sowohl in einem Inline-Map-Status als auch in einem Distributed-Map-Status angeben.

Stellen Sie sich zum Beispiel die folgende JSON-Eingabe vor, die ein Array mit drei Elementen innerhalb des imageData Knotens enthält. Für jede MapZustandsiteration wird ein Array-Element als Eingabe an die Iteration übergeben.

[ { "resize": "true", "format": "jpg" }, { "resize": "false", "format": "png" }, { "resize": "true", "format": "jpg" } ]

Mithilfe des ItemSelector Felds können Sie eine benutzerdefinierte JSON-Eingabe definieren, um die ursprüngliche Eingabe zu überschreiben, wie im folgenden Beispiel gezeigt. Step Functions übergibt diese benutzerdefinierte Eingabe dann an jede MapZustandsiteration. Die benutzerdefinierte Eingabe enthält einen statischen Wert für size und den Wert eines Kontextobjekts für den Map Status. Das $$.Map.Item.Value Kontextobjekt enthält den Wert jedes einzelnen Datenelements.

{ "ItemSelector": { "size": 10, "value.$": "$$.Map.Item.Value" } }

Das folgende Beispiel zeigt die Eingabe, die bei einer Iteration des Inline-Map-Status empfangen wurde:

{ "size": 10, "value": { "resize": "true", "format": "jpg" } }
Tipp

Ein vollständiges Beispiel für einen Distributed-Map-Status, der das ItemSelector Feld verwendet, finden Sie unterErste Schritte mit der Verwendung von Distributed Map State.