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á.
ItemSelector (Mapa)
Por padrão, a entrada efetiva para o estado Map
é o conjunto de itens de dados individuais presentes na entrada de estado bruto. O campo ItemSelector
permite que você substitua os valores dos itens de dados antes que eles sejam transmitidos para o estado Map
. Para substituir os valores, especifique uma JSON entrada válida que contenha uma coleção de pares de valores-chave. Esses pares podem ser valores estáticos fornecidos na definição da máquina de estado, valores selecionados da entrada de estado usando um caminho ou valores acessados a partir do objeto de contexto.
Se você especificar pares de chave-valor usando um caminho ou objeto de contexto, o nome da chave deverá terminar em .$
.
nota
O campo ItemSelector
substitui o campo Parameters
dentro do estado Map
. Se você usa o campo Parameters
em suas definições do estado Map
para criar entradas personalizadas, é altamente recomendável substituí-las por ItemSelector
.
Você pode especificar o campo ItemSelector
tanto em um estado Mapa inline quanto Mapa distribuído.
Por exemplo, considere a JSON entrada a seguir que contém uma matriz de três itens dentro do imageData
nó. Para cada iteração do estado Map
, um item de matriz é passado para a iteração como entrada.
[
{
"resize": "true",
"format": "jpg"
},
{
"resize": "false",
"format": "png"
},
{
"resize": "true",
"format": "jpg"
}
]
Usando o ItemSelector
campo, você pode definir uma JSON entrada personalizada para substituir a entrada original, conforme mostrado no exemplo a seguir. O Step Functions então transmite essa entrada personalizada para cada iteração do estado Map
. A entrada personalizada contém um valor estático para size
e o valor dos dados de um objeto de contexto para o estado Map
. O objeto de contexto $$.Map.Item.Value
contém o valor de cada item de dados individual.
{
"ItemSelector": {
"size": 10,
"value.$": "$$.Map.Item.Value"
}
}
O exemplo a seguir mostra a entrada recebida por uma iteração do estado Mapa inline:
{
"size": 10,
"value": {
"resize": "true",
"format": "jpg"
}
}
dica
Para obter um exemplo completo de um estado Mapa Distribuído usando o campo ItemSelector
, consulte Copie em grande escala CSV usando o Mapa Distribuído.