Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Gestione dello stato e trasformazione dei dati
Scopri come passare dati tra stati con variabili e Trasformare dati con. JSONata
In Amazon States Language, un percorso è una stringa che inizia con e $
che puoi utilizzare per identificare i componenti all'interno del testo JSON. I percorsi seguono la JsonPathQueryLanguage
è impostata su. JSONPath È possibile specificare un percorso per accedere a sottoinsiemi di input quando si specificano i valori di InputPath
, ResultPath
e OutputPath
.
È necessario utilizzare la notazione tra parentesi quadre se il nome del campo contiene caratteri non inclusi nella member-name-shorthand
definizione della JsonPath regola ABNF._
), è necessario utilizzare la notazione tra parentesi quadre. Ad esempio $.abc.['def ghi']
.
Percorsi di riferimento
Un percorso di riferimento è un percorso la cui sintassi è limitata in modo tale che può identificare solo un singolo nodo in una struttura JSON:
-
Puoi accedere a campi di oggetto unicamente con la notazione del punto (
.
) e tra parentesi quadra ([ ]
). -
Le funzioni come
length()
non sono supportate. -
Operatori lessicali, che non sono simbolici, ad esempio non sono supportati.
subsetof
-
Il filtraggio tramite espressioni regolari o facendo riferimento a un altro valore nella struttura JSON non è supportato.
-
Gli operatori
@
,,
:
, e?
non sono supportati
Ad esempio, se i dati di input dello stato contengono i seguenti valori:
{
"foo": 123,
"bar": ["a", "b", "c"],
"car": {
"cdr": true
}
}
I percorsi di riferimento seguenti restituirebbero quanto segue.
$.foo => 123
$.bar => ["a", "b", "c"]
$.car.cdr => true
Alcuni stati utilizzano percorsi e percorsi di riferimento per controllare il flusso di una macchina a stati o configurare impostazioni o opzioni di uno stato. Per ulteriori informazioni, vedere Modellazione dell'elaborazione del percorso di input e output del flusso di lavoro con il simulatore di flusso di dati
Appiattimento di una serie di array
Se lo Stato del flusso di lavoro della mappa stato Stato del flusso di lavoro parallelo o nelle tue macchine a stati restituisce un array di array, puoi trasformarli in una matrice piatta con il campo. ResultSelector Puoi includere questo campo nella definizione dello stato Parallel o Map per manipolare il risultato di questi stati.
Per appiattire gli array, utilizzate la sintassi: [*]
nel ResultSelector
campo, come mostrato nell'esempio seguente.
"ResultSelector": {
"flattenArray.$": "$[*][*]"
}
Per esempi che mostrano come appiattire un array, consultate il passaggio 3 nei seguenti tutorial: