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á.
ItemsPath (Mapa, JSONPath somente)
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: