

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á.

# AWS Step Functions invocar referência de ação
<a name="action-reference-StepFunctions"></a>

Uma AWS CodePipeline ação que faz o seguinte:
+ Inicia a execução de uma máquina de AWS Step Functions estado a partir do seu pipeline.
+ Fornece um estado inicial para a máquina de estado por meio de uma propriedade na configuração de ação ou de um arquivo localizado em um artefato de pipeline a ser transmitido como entrada.
+ Opcionalmente, define um prefixo de ID de execução para identificar execuções originadas da ação.
+ É compatível com máquinas de estado [padrão e expressa](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html).

**nota**  
A ação do Step Functions é executada no Lambda e, por isso, as cotas de tamanho de artefato são iguais às cotas de tamanho de artefato para funções do Lambda. Para ter mais informações, consulte [Cotas do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) no Guia do desenvolvedor do Lambda.

## Tipo de ação
<a name="action-reference-StepFunctions-type"></a>
+ Categoria: `Invoke`
+ Proprietário: `AWS`
+ Fornecedor: `StepFunctions`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-StepFunctions-config"></a>

**StateMachineArn**  
Obrigatório: Sim  
O nome de recurso da Amazon (ARN) para a máquina de estado a ser invocada.

**ExecutionNamePrefix**  
Obrigatório: não  
Por padrão, o ID de execução da ação é usado como o nome de execução da máquina de estado. Se um prefixo for fornecido, ele será adicionado ao ID de execução da ação com um hífen e será usado como o nome de execução da máquina de estado.  

```
myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791
```
Para uma máquina de estado expressa, o nome deve conter apenas 0-9, A-Z, a-z, - e \$1.

**InputType**  
Obrigatório: não  
+ **Literal** (padrão): quando especificado, o valor no campo **Input** é transmitido diretamente para a entrada da máquina de estado.

  Entrada de exemplo para o campo **Input** quando **Literal** é selecionado:

  ```
  {"action": "test"}
  ```
+ **FilePath**: o conteúdo de um arquivo no artefato de entrada especificado pelo campo **Entrada** é usado como entrada para a execução da máquina de estado. Um artefato de entrada é necessário quando **InputType**definido como. **FilePath**

  Exemplo de entrada para o campo ****FilePath**Entrada** quando selecionado:

  ```
  assets/input.json
  ```

**Input**  
Obrigatório: condicional  
+ **Literal**: quando **InputType**definido como **Literal** (padrão), esse campo é opcional. 

  Se fornecido, o campo **Input** será usado diretamente como a entrada para a execução da máquina de estado. Caso contrário, a máquina de estado será invocada com um objeto JSON `{}` vazio.
+ **FilePath**: Quando **InputType**definido como **FilePath**, esse campo é obrigatório.

  Um artefato de entrada também é necessário quando **InputType**definido como. **FilePath**

  O conteúdo do arquivo no artefato de entrada especificado é usado como entrada para a execução da máquina de estado.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-StepFunctions-input"></a>
+ **Número de artefatos:** `0 to 1`
+ **Descrição:** Se **InputType**estiver definido como **FilePath**, esse artefato é necessário e é usado para fornecer a entrada para a execução da máquina de estado.

## Artefatos de saída
<a name="action-reference-StepFunctions-output"></a>
+ **Número de artefatos:** `0 to 1` 
+ **Descrição:**
  + **Máquinas de estado padrão**: se fornecido, o artefato de saída será preenchido com a saída da máquina de estado. Isso é obtido da `output` propriedade da resposta da [ DescribeExecution API Step Functions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) após a conclusão bem-sucedida da execução da máquina de estado.
  + **Máquinas de estado expressas**: não são compatíveis.

## Variáveis de saída
<a name="action-reference-StepFunctions-variables"></a>

Essa ação produz variáveis de saída que podem ser referenciadas pela configuração de uma ação downstream no pipeline.

Para obter mais informações, consulte [Referência de variáveis](reference-variables.md).

**StateMachineArn**  
O ARN da máquina de estado.

**ExecutionArn**  
O ARN da execução da máquina de estado. Somente máquinas de estado padrão.

## Permissões do perfil de serviço: ação `StepFunctions`
<a name="edit-role-stepfunctions"></a>

Para a ação `StepFunctions`, estas são as permissões mínimas necessárias para criar pipelines com uma ação de invocação do Step Functions.

```
{
    "Effect": "Allow",
    "Action": [
        "states:DescribeStateMachine",
        "states:DescribeExecution",
        "states:StartExecution"
    ],
    "Resource": "resource_ARN"
},
```

## Exemplo de configuração da ação
<a name="action-reference-StepFunctions-example"></a>

### Exemplo de entrada padrão
<a name="action-reference-StepFunctions-example-default"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine
  ExecutionNamePrefix: my-prefix
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix"
    }
}
```

------

### Exemplo de entrada literal
<a name="action-reference-StepFunctions-example-literal"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine
  ExecutionNamePrefix: my-prefix
  Input: '{"action": "test"}'
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix",
        "Input": "{\"action\": \"test\"}"
    }
}
```

------

### Exemplo de arquivo de entrada
<a name="action-reference-StepFunctions-example-filepath"></a>

------
#### [ YAML ]

```
Name: ActionName
InputArtifacts:
  - Name: myInputArtifact
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: 'arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine'
  ExecutionNamePrefix: my-prefix
  InputType: FilePath
  Input: assets/input.json
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "InputArtifacts": [
        {
            "Name": "myInputArtifact"
        }
    ],
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix",
        "InputType": "FilePath",
        "Input": "assets/input.json"
    }
}
```

------

## Comportamento
<a name="action-reference-StepFunctions-types"></a>

Durante uma versão, CodePipeline executa a máquina de estado configurada usando a entrada conforme especificado na configuração da ação.

Quando **InputType**definido como **Literal**, o conteúdo do campo Configuração da ação de **entrada** é usado como entrada para a máquina de estado. Quando a entrada literal não é fornecida, a execução da máquina de estado usa um objeto JSON `{}` vazio. Para obter mais informações sobre como executar uma execução de máquina de estado sem entrada, consulte a [ StartExecutionAPI Step Functions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html).

Quando **InputType**está definida como **FilePath**, a ação descompacta o artefato de entrada e usa o conteúdo do arquivo especificado no campo Configuração da ação **de entrada** como entrada para a máquina de estado. Quando **FilePath**especificado, o campo **Entrada** é obrigatório e um artefato de entrada deve existir; caso contrário, a ação falhará.

Após uma execução de início bem-sucedida, o comportamento divergirá para os dois tipos de máquina de estado, *padrão* e *expressa*.

### Máquinas de estado padrão
<a name="action-reference-StepFunctions-types-standard"></a>

Se a execução da máquina de estado padrão foi iniciada com sucesso, CodePipeline pesquisa a `DescribeExecution` API até que a execução atinja o status de terminal. Se a execução for concluída com êxito, a ação será bem-sucedida; caso contrário, ela falhará.

Se um artefato de saída for configurado, o artefato conterá o valor de retorno da máquina de estado. Isso é obtido da `output` propriedade da resposta da [ DescribeExecution API Step Functions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) após a conclusão bem-sucedida da execução da máquina de estado. Observe que há restrições de comprimento de saída impostas nesta API.

#### Tratamento de erros
<a name="action-reference-StepFunctions-types-standard-handling"></a>
+ Se ocorrer falha na ação ao iniciar uma execução de máquina de estado, a execução da ação falhará.
+ Se a execução da máquina de estado não atingir o status do terminal antes que a ação CodePipeline Step Functions atinja seu tempo limite (padrão de 7 dias), a execução da ação falhará. A máquina de estado poderá continuar apesar dessa falha. Para obter mais informações sobre o tempo limite da execução da máquina de estado no Step Functions, consulte [Comparação entre os fluxos de trabalho Standard e Express](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html).
**nota**  
É possível solicitar um aumento da cota do tempo limite da ação de invocação para a conta com a ação. No entanto, o aumento da cota aplica-se a todas as ações deste tipo em todas as regiões para essa conta.
+ Se a execução da máquina de estado atingir um status de terminal de FAILED, TIMED\$1OUT ou ABORTED, ocorrerá falha na execução da ação.

### Máquinas de estado expressas
<a name="action-reference-StepFunctions-types-express"></a>

Se a execução da máquina de estado expressa foi iniciada com êxito, a execução da ação de invocação será concluída com êxito.

Considerações sobre ações configuradas para máquinas de estado expressa:
+ Não é possível designar um artefato de saída.
+ A ação não aguarda o término da execução da máquina de estado.
+ Depois que a execução da ação é iniciada em CodePipeline, a execução da ação é bem-sucedida mesmo se a execução da máquina de estado falhar.

#### Tratamento de erros
<a name="action-reference-StepFunctions-types-express-handling"></a>
+ Se CodePipeline falhar ao iniciar a execução de uma máquina de estado, a execução da ação falhará. Caso contrário, a ação será executada com êxito imediatamente. A ação é bem-sucedida CodePipeline independentemente de quanto tempo a execução da máquina de estado leva para ser concluída ou de seu resultado.

## Consulte também
<a name="action-reference-StepFunctions-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [AWS Step Functions Guia do desenvolvedor](https://docs.aws.amazon.com/step-functions/latest/dg/) — Para obter informações sobre máquinas de estado, execuções e entradas para máquinas de estado, consulte o Guia do *AWS Step Functions desenvolvedor*.
+ [Tutorial: use uma ação de AWS Step Functions invocação em um pipeline](tutorials-step-functions.md): este tutorial apresenta o uso de uma máquina de estado padrão de exemplo e mostra como usar o console para atualizar um pipeline adicionando uma ação de invocação do Step Functions.