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)
Status verwalten und Daten transformieren
Step Functions hat kürzlich Variablen hinzugefügt und JSONata dient der Verwaltung von Zustands- und Transformationsdaten.
Erfahren Sie mehr über das Übergeben von Daten mit Variablen und das Transformieren von Daten mit JSONata.
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 Context-Objekt 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 Map
State-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 Map
State-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
Context-Objekt 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 unterKopieren Sie große Datenmengen CSV mithilfe von Distributed Map.