ItemSelector (Karte) - 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 (Karte)

Standardmäßig ist die effektive Eingabe für den Map Status der Satz einzelner Datenelemente, die in der Rohzustandseingabe vorhanden sind. In ItemSelector diesem Feld können Sie die Werte der Datenelemente überschreiben, bevor sie an den Map Bundesstaat 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 Zustandsmaschinen-Definition bereitgestellt wurden, um Werte, die mithilfe eines Pfads 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 auf enden. .$

Anmerkung

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

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

Stellen Sie sich beispielsweise die folgende JSON Eingabe vor, die ein Array von drei Elementen innerhalb des imageData Knotens enthält. Für jede MapState-Iteration 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 leitet diese benutzerdefinierte Eingabe dann an jede MapState-Iteration weiter. Die benutzerdefinierte Eingabe enthält einen statischen Wert für size und den Wert eines Kontextobjekts, Daten 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 Distributed Map State.