As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Gerenciando o estado e transformando dados
Esta página se refere JSONPath a. Recentemente, o Step Functions adicionou variáveis JSONata para gerenciar dados de estado e transformação.
Saiba mais sobre como transmitir dados com variáveis e transformar dados com JSONata.
Em estados JSONPath baseados, use o ItemsPath
campo para selecionar uma matriz dentro de uma entrada JSON fornecida a um Map
estado. O estado Map
repete um conjunto de etapas para cada item na matriz. Por padrão, um estado Map
define ItemsPath
como $
, o que seleciona toda a entrada. Se a entrada para o estado Map
for uma matriz JSON, ela executará uma iteração para cada item na matriz, transmitindo esse item para a iteração como entrada.
nota
Você só poderá usar ItemsPath
no estado Mapa Distribuído se usar uma entrada JSON transmitida de um estado anterior no fluxo de trabalho.
Você pode usar o campo ItemsPath
para especificar um local na entrada que aponta para a matriz JSON usada para iterações. O valor de ItemsPath
deve ser um caminho de referência e esse caminho deve apontar para a matriz JSON. Por exemplo, considere a entrada para um estado Map
que inclua duas matrizes, como o exemplo a seguir.
{
"ThingsPiratesSay": [
{
"say": "Avast!"
},
{
"say": "Yar!"
},
{
"say": "Walk the Plank!"
}
],
"ThingsGiantsSay": [
{
"say": "Fee!"
},
{
"say": "Fi!"
},
{
"say": "Fo!"
},
{
"say": "Fum!"
}
]
}
Nesse caso, você pode especificar qual matriz usar para iterações do estado Map
selecionando-a com ItemsPath
. A definição de máquina de estado a seguir especifica a matriz ThingsPiratesSay
na entrada usando ItemsPath
. Em seguida, ela executa uma iteração do estado de passagem SayWord
para cada item na matriz ThingsPiratesSay
.
{
"StartAt": "PiratesSay",
"States": {
"PiratesSay": {
"Type": "Map",
"ItemsPath": "$.ThingsPiratesSay",
"ItemProcessor": {
"StartAt": "SayWord",
"States": {
"SayWord": {
"Type": "Pass",
"End": true
}
}
},
"End": true
}
}
}
Ao processar a entrada, o estado Map
aplica ItemsPath
depois do InputPath. Ele é operado na entrada efetiva para o estado depois que InputPath
filtra a entrada.
Para obter mais informações sobre estados Map
, consulte os tópicos a seguir: