

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
<a name="connect-parameters"></a>

**Gerenciar estados e transformar dados**  
Saiba mais sobre como [transmitir dados entre estados com variáveis](workflow-variables.md) e [transformar dados com JSONata](transforming-data.md).

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](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSnapshots.html#API_DescribeSnapshots_RequestParameters) 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
<a name="connect-parameters-json"></a>

É 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
<a name="connect-parameters-path"></a>

É possível transmitir partes da entrada de estado como parâmetros usando [caminhos](amazon-states-language-paths.md). 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](https://datatracker.ietf.org/wg/jsonpath/about/).

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:
+ [Processar entrada e saída](concepts-input-output-filtering.md)
+ [Manipular parâmetros nos fluxos de trabalho do Step Functions](input-output-inputpath-params.md)

## Passar nós do objeto de contexto como parâmetros
<a name="connect-parameters-context"></a>

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:
+ [Acessar dados de execução do objeto de contexto no Step Functions](input-output-contextobject.md)
+ [Acessar o objeto de contexto](input-output-contextobject.md#contextobject-access)
+ [Obter um token para o objeto de contexto](connect-to-resource.md#wait-token-contextobject)