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á.
Passando parâmetros para um serviço API em Step Functions
Use o Parameters
campo em um Task
estado para controlar quais parâmetros são passados para um serviçoAPI.
Dentro do Parameters
campo, você deve usar a forma plural dos parâmetros da matriz em uma API ação. Por exemplo, se você usar o campo Filtro da DescribeSnapshots
API ação para integração com a AmazonEC2, deverá definir o campo comoFilters
. Se você não usar o formato plural, o Step Functions retornará o seguinte erro:
The field Filter is not supported by Step Functions.
Passe estática JSON como parâmetros
Você pode incluir um JSON objeto diretamente na definição da sua máquina de estado para passar como parâmetro para um recurso.
Por exemplo, para definir o RetryStrategy
parâmetro SubmitJob
API para o AWS Batch, você pode incluir o seguinte em seus parâmetros.
"RetryStrategy": {
"attempts": 5
}
Você também pode passar vários parâmetros com estáticaJSON. Como um exemplo mais completo, a seguir estão os Parameters
campos Resource
e da especificação de uma tarefa que é publicada em um SNS tópico da Amazon chamado
.myTopic
"Resource": "arn:aws:states:::sns:publish",
"Parameters": {
"TopicArn": "arn:aws:sns:us-east-2:123456789012: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, começando com$
, usada para identificar componentes no JSON texto. Os caminhos do Step Functions usam 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 passar o valor do nó nomeado message
como um parâmetro chamadomyMessage
, 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 são JSON dados dinâmicos que existem durante a execução de uma 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: