ItemSelector (Mapa) - AWS Step Functions

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.