Transmitir parâmetros a uma API de serviço 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á.

Transmitir parâmetros a uma API de serviço no Step Functions

Gerenciar estados e transformar dados

Use o campo Parameters em um estado Task para controlar os parâmetros que serão transmitidos a uma API de serviço.

Dentro do campo Parameters, você deve usar a forma plural dos parâmetros da matriz em uma ação de API. Por exemplo, se você usar o campo Filtro da ação de API DescribeSnapshots para integração com o Amazon EC2, será necessário definir o campo como Filters. Se você não usar o formato plural, o Step Functions retornará o seguinte erro:

The field Filter is not supported by Step Functions.

Transmitir JSON estático como parâmetros

É possível incluir um objeto JSON diretamente na definição da máquina de estado para transmiti-lo como um parâmetro a um recurso.

Por exemplo, para definir o parâmetro RetryStrategy para a API SubmitJob do AWS Batch, você pode incluir nos parâmetros o seguinte:

"RetryStrategy": { "attempts": 5 }

Também é possível transmitir vários parâmetros com JSON estático. Para um exemplo mais completo, veja a seguir os campos Resource e Parameters da especificação de uma tarefa que publica em um tópico do Amazon SNS chamado myTopic.

"Resource": "arn:aws:states:::sns:publish", "Parameters": { "TopicArn": "arn:aws:sns:us-east-2:account-id:myTopic", "Message": "test message", "MessageAttributes": { "my attribute no 1": { "DataType": "String", "StringValue": "value of my attribute no 1" }, "my attribute no 2": { "DataType": "String", "StringValue": "value of my attribute no 2" } } },

Transmitir a entrada de estado como parâmetros usando caminhos

É possível transmitir partes da entrada de estado como parâmetros usando caminhos. Um caminho é uma string que começa com $ e é usada para identificar componentes em texto JSON. Os caminhos do Step Functions usam a sintaxe JsonPath.

Para especificar que um parâmetro use um caminho, termine o nome do parâmetro com .$. Por exemplo, se sua entrada de estado contiver texto em um nó chamado message, você poderá transmitir esse texto como parâmetro usando um caminho.

Considere a seguinte entrada de estado:

{ "comment": "A message in the state input", "input": { "message": "foo", "otherInfo": "bar" }, "data": "example" }

Para transmitir o valor do nó denominado message como parâmetro chamado myMessage, especifique a seguinte sintaxe:

"Parameters": {"myMessage.$": "$.input.message"},

Em seguida, o Step Functions transmite o valor foo como um parâmetro.

Para ver mais informações sobre como usar parâmetros no Step Functions, consulte o seguinte:

Passar nós do objeto de contexto como parâmetros

Além do conteúdo estático e de nós do estado de entrada, é possível passar nós do objeto de contexto como parâmetros. O objeto de contexto é formado por dados JSON dinâmicos que existem durante uma execução da máquina de estado. Ele inclui informações sobre sua máquina de estado e a execução atual. É possível acessar o objeto de contexto usando um caminho no campo Parameters de uma definição de estado.

Para obter mais informações sobre o objeto de contexto e como acessar os dados de um campo "Parameters", consulte o seguinte: