Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Configurar entradas e saídas de estado com o Workflow Studio no Step Functions

Modo de foco
Configurar entradas e saídas de estado com o Workflow Studio no Step Functions - 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á.

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

Cada estado toma uma decisão ou executa uma ação com base na entrada que recebe. Na maioria dos casos, ele passa a saída para outros estados. No Workflow Studio, você pode configurar como um estado filtra e manipula os dados de entrada e saída nas guias Entrada e Saída do painel Painel Inspetor. Use os links de Informações para acessar a ajuda contextual ao configurar entradas e saídas.

Captura de tela ilustrativa mostrando entradas e saídas de estado e o painel de ajuda Informações

Para informações detalhadas sobre como o Step Functions processa entrada e saída, consulte Processar entrada e saída no Step Functions.

Configurar a entrada para um estado

Cada estado recebe a entrada do estado anterior como JSON. Se quiser filtrar a entrada, você poderá usar o filtro InputPath na guia Entrada no painel Painel Inspetor. A InputPath é uma string, começando com $, que identifica um nó JSON específico. Eles são chamados de caminhos de referência e seguem a JsonPath sintaxe.

Para filtrar a entrada:

  • Escolha Filtrar entrada com InputPath.

  • Insira um valor válido JsonPathpara o InputPath filtro. Por exemplo, $.data.

O filtro InputPath será adicionado ao fluxo de trabalho.

exemplo Exemplo 1: Usar InputPath filtro no Workflow Studio

Digamos que a entrada para o estado inclua os dados JSON a seguir.

{ "comment": "Example for InputPath", "dataset1": { "val1": 1, "val2": 2, "val3": 3 }, "dataset2": { "val1": "a", "val2": "b", "val3": "c" } }

Para aplicar o InputPath filtro, escolha Filtrar entrada com e InputPath, em seguida, insira um caminho de referência apropriado. Se você inserir $.dataset2.val1, o seguinte JSON será passado como entrada para o estado.

{"a"}

Um caminho de referência também pode ter uma seleção de valores. Se os dados referenciados forem { "a": [1, 2, 3, 4] }, e você aplicar o caminho de referência $.a[0:2] como o filtro InputPath, o resultado será como a seguir.

[ 1, 2 ]

Os estados Estado paralelo do fluxo de trabalho, Estado de mapa do fluxo de trabalho e Estado de passagem do fluxo de trabalho têm uma opção adicional de filtragem de entrada chamada Parameters na guia Entrada. Esse filtro entra em vigor após o InputPath filtro e pode ser usado para construir um objeto JSON personalizado que consiste em um ou mais pares de valores-chave. Os valores de cada par podem ser valores estáticos, podem ser selecionados na entrada ou podem ser selecionados a partir do Acessando dados de execução do objeto Context em Step Functions com um caminho.

nota

Para determinar que um parâmetro use um caminho para fazer referência a um nó JSON na entrada, o nome do parâmetro deve terminar com .$.

exemplo Exemplo 2: crie uma entrada JSON personalizada para o estado Paralelo

Digamos que os seguintes dados JSON sejam a entrada para um estado Paralelo.

{ "comment": "Example for Parameters", "product": { "details": { "color": "blue", "size": "small", "material": "cotton" }, "availability": "in stock", "sku": "2317", "cost": "$23" } }

Para selecionar parte dessa entrada e passar pares de valores-chave adicionais com um valor estático, você pode especificar o seguinte no campo Parâmetros, na guia Entrada do estado Paralelo.

{ "comment": "Selecting what I care about.", "MyDetails": { "size.$": "$.product.details.size", "exists.$": "$.product.availability", "StaticValue": "foo" } }

Os seguintes dados JSON serão o resultado.

{ "comment": "Selecting what I care about.", "MyDetails": { "size": "small", "exists": "in stock", "StaticValue": "foo" } }

Configurar a saída de um estado

Cada estado produz uma saída JSON que pode ser filtrada antes de ser passada para o próximo estado. Há vários filtros disponíveis e cada um afeta a saída de uma maneira diferente. Os filtros de saída disponíveis para cada estado estão listados na guia Saída no painel Inspector. Para estados Estado de tarefa do fluxo de trabalho, todos os filtros de saída selecionados são processados nesta ordem:

  1. ResultSelector: use esse filtro para manipular o resultado do estado. Você pode construir um novo objeto JSON com partes do resultado.

  2. Especificando a saída de estado usando ResultPath em Step Functions: use esse filtro para selecionar uma combinação da entrada de estado e do resultado da tarefa para passar para a saída.

  3. Filtrando a saída do estado usando OutputPath: use esse filtro para filtrar a saída JSON e escolher quais informações do resultado serão passadas para o próximo estado.

Use ResultSelector

ResultSelector é um filtro de saída opcional para os seguintes estados:

ResultSelector pode ser usado para construir um objeto JSON personalizado que consiste em um ou mais pares de chave-valor. Os valores de cada par podem ser valores estáticos ou selecionados do resultado do estado com um caminho.

nota

Para especificar que um parâmetro use um caminho para fazer referência a um nó JSON no resultado, o nome do parâmetro deve terminar com .$.

exemplo Exemplo de uso do ResultSelector filtro

Neste exemplo, você usa ResultSelector para manipular a resposta da chamada de API do Amazon CreateCluster EMR para um estado do Amazon CreateCluster EMR. Veja a seguir o resultado da chamada de API CreateCluster do Amazon EMR.

{ "resourceType": "elasticmapreduce", "resource": "createCluster.sync", "output": { "SdkHttpMetadata": { "HttpHeaders": { "Content-Length": "1112", "Content-Type": "application/x-amz-JSON-1.1", "Date": "Mon, 25 Nov 2019 19:41:29 GMT", "x-amzn-RequestId": "1234-5678-9012" }, "HttpStatusCode": 200 }, "SdkResponseMetadata": { "RequestId": "1234-5678-9012" }, "ClusterId": "AKIAIOSFODNN7EXAMPLE" } }

Para selecionar parte dessas informações e passar um par adicional de valores-chave com um valor estático, especifique o seguinte no ResultSelectorcampo, na guia Saída do estado.

{ "result": "found", "ClusterId.$": "$.output.ClusterId", "ResourceType.$": "$.resourceType" }

O uso de ResultSelector produz o resultado a seguir.

{ "result": "found", "ClusterId": "AKIAIOSFODNN7EXAMPLE", "ResourceType": "elasticmapreduce" }

Use ResultPath

A saída de um estado pode ser uma cópia da entrada, o resultado que ele produz ou uma combinação da entrada e do resultado. Use ResultPath para controlar qual combinação desses itens são passadas para o estado de saída. Para obter mais casos de uso de ResultPath, consulte Especificando a saída de estado usando ResultPath em Step Functions.

ResultPath é um filtro de saída opcional para os seguintes estados:

ResultPath pode ser usado para adicionar o resultado à entrada do estado original. O caminho especificado indica onde adicionar o resultado.

exemplo Exemplo de uso do ResultPath filtro

Digamos que os itens seguintes sejam a entrada para um estado Tarefa.

{ "details": "Default example", "who": "AWS Step Functions" }

O resultado do estado Tarefa é como a seguir.

Hello, AWS Step Functions

Você pode adicionar esse resultado à entrada do estado aplicando ResultPath e inserindo um caminho de referência que indica onde adicionar o resultado, como $.taskresult:

Com esse ResultPath, o seguinte é o JSON que é passado como a saída do estado.

{ "details": "Default example", "who": "AWS Step Functions", "taskresult": "Hello, AWS Step Functions!" }

Use OutputPath

O filtro OutputPath permite filtrar informações indesejadas e transmitir somente a parte necessária do JSON. O OutputPath é uma string, que começa com $, que identifica nós no texto JSON.

exemplo Exemplo de uso do OutputPath filtro

Imagine que uma chamada de API Invocação do Lambda exiba metadados além do resultado da função do Lambda.

{ "ExecutedVersion": "$LATEST", "Payload": { "foo": "bar", "colors": [ "red", "blue", "green" ], "car": { "year": 2008, "make": "Toyota", "model": "Matrix" } }, "SdkHttpMetadata": { "AllHttpHeaders": { "X-Amz-Executed-Version": ["$LATEST"] ...

Você pode usar OutputPath para filtrar os metadados adicionais. Por padrão, o valor do OutputPathfiltro para estados do Lambda Invoke criados por meio do Workflow Studio é. $.Payload Esse valor padrão remove os metadados adicionais e retorna uma saída equivalente à execução direta da função do Lambda.

O exemplo do resultado da tarefa Invocação Lambda e o valor de $.Payload para o filtro Output transmitem os seguintes dados JSON como a saída.

{ "foo": "bar", "colors": [ "red", "blue", "green" ], "car": { "year": 2008, "make": "Toyota", "model": "Matrix" } }
nota

O filtro OutputPath é o último filtro de saída a entrar em vigor; portanto, se você usar filtros de saída adicionais, como ResultSelector ou ResultPath, deverá modificar o valor padrão de $.Payload para o filtro OutputPath adequadamente.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.