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
Saiba mais sobre como transmitir dados entre estados com variáveis e transformar dados com JSONata.
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: