

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

# Tutorial: use uma ação de AWS Step Functions invocação em um pipeline
<a name="tutorials-step-functions"></a>

Você pode usar AWS Step Functions para criar e configurar máquinas de estado. Este tutorial mostra como adicionar uma ação de invocação a um pipeline que ativa execuções de máquina de estado do pipeline. 

**Importante**  
Como parte da criação de um pipeline, um bucket de artefatos S3 fornecido pelo cliente será usado CodePipeline por for artefacts. (Este bucket não é o mesmo utilizado para uma ação de origem do S3.) Se o bucket de artefatos do S3 estiver em uma conta diferente da conta do seu pipeline, certifique-se de que o bucket de artefatos do S3 Contas da AWS seja de propriedade de quem é seguro e confiável.

Neste tutorial, você executará as seguintes tarefas:
+ Crie uma máquina de estado padrão em AWS Step Functions.
+ Insira o JSON de entrada da máquina de estado diretamente. Você também pode fazer upload do arquivo de entrada de máquina de estado para um bucket do Amazon Simple Storage Service (Amazon S3).
+ Atualize o pipeline adicionando a ação da máquina de estado.

**Topics**
+ [Pré-requisito: criar ou escolher um pipeline simples](#tutorials-step-functions-prereq)
+ [Etapa 1: Criar a máquina de estado de exemplo](#tutorials-step-functions-sample)
+ [Etapa 2: Adicionar uma ação de invocação do Step Functions ao pipeline](#tutorials-step-functions-pipeline)

## Pré-requisito: criar ou escolher um pipeline simples
<a name="tutorials-step-functions-prereq"></a>

Neste tutorial, você adicionará uma ação de invocação a um pipeline existente. Você pode usar o pipeline criado em [Tutorial: Criar um pipeline simples (bucket do S3)](tutorials-simple-s3.md) ou [Tutorial: criar um pipeline simples (CodeCommit repositório)](tutorials-simple-codecommit.md).

Use um pipeline existente com uma ação de origem e pelo menos uma estrutura de duas etapas, mas não use artefatos de origem para este exemplo.

**nota**  
Talvez seja necessário atualizar a função de serviço usada pelo pipeline com permissões adicionais necessárias para executar essa ação. Para fazer isso, abra o console AWS Identity and Access Management (IAM), encontre a função e adicione as permissões à política da função. Para obter mais informações, consulte [Adicionar permissões à função CodePipeline de serviço](how-to-custom-role.md#how-to-update-role-new-services).

## Etapa 1: Criar a máquina de estado de exemplo
<a name="tutorials-step-functions-sample"></a>

No console do Step Functions, crie uma máquina de estado usando o modelo de exemplo `HelloWorld`. Para obter instruções, consulte [Criar uma máquina de estado](https://docs.aws.amazon.com/step-functions/latest/dg/getting-started.html#create-state-machine) no *Guia do desenvolvedor do AWS Step Functions *.

## Etapa 2: Adicionar uma ação de invocação do Step Functions ao pipeline
<a name="tutorials-step-functions-pipeline"></a>

Adicione uma ação de invocação do Step Functions ao pipeline da seguinte maneira:

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Os nomes de todos os pipelines associados à sua AWS conta são exibidos.

1. Em **Nome**, selecione o nome do pipeline que você deseja editar. Isso abrirá um visão detalhada do pipeline, incluindo o estado de cada uma das ações em cada estágio do pipeline.

1. Na página de detalhes do pipeline, selecione **Editar**.

1. Na segunda etapa do pipeline simples, escolha **Editar etapa**. Escolha **Excluir**. Isso exclui a segunda etapa agora que você não precisa mais dela.

1. Na parte inferior do diagrama, escolha **\$1 Add stage (\$1 Adicionar estágio)**.

1. Em **Nome da etapa**, insira um nome para a etapa, como **Invoke**, e escolha **Adicionar etapa**.

1. Escolha **\$1 Add action group (Adicionar grupo de ação)**.

1. Em **Nome da ação**, insira um nome, como **Invoke**.

1. Em **Provedor de ação**, selecione **AWS Step Functions**. Permita que **Region (Região)** seja definida para a região do pipeline.

1. Em **Artefatos de entrada**, selecione `SourceArtifact`.

1. No **ARN da máquina de estado**, escolha o Nome de recurso da Amazon (ARN) para a máquina de estado criada anteriormente.

1. (Opcional) Em **Prefixo de nome de execução**, insira um prefixo a ser adicionado ao ID de execução da máquina de estado.

1. Em **Tipo de entrada**, escolha **Literal**.

1. Em **Entrada**, insira o JSON de entrada que é esperado pela máquina de estado de exemplo `HelloWorld`.
**nota**  
A entrada para a execução da máquina de estado é diferente do termo usado CodePipeline para descrever artefatos de entrada para ações.

   Neste exemplo, insira o seguinte JSON:

   ```
   {"IsHelloWorldExample": true}
   ```

1. Selecione **Concluído**.

1. Na etapa que está sendo editada, escolha **Concluído**. No painel do AWS CodePipeline , escolha **Save (Salvar)** e selecione **Save (Salvar)** na mensagem de aviso.

1. Para enviar as alterações e iniciar uma execução de pipeline, selecione **Release change (Liberar alteração)** e **Release (Liberar)**.

1. No pipeline concluído, escolha **AWS Step Functions** na ação de invocação. No AWS Step Functions console, visualize seu ID de execução da máquina de estado. O ID mostra o nome da máquina de estado `HelloWorld` e o ID de execução da máquina de estado com o prefixo `my-prefix`.

   ```
   arn:aws:states:us-west-2:account-ID:execution:HelloWorld:my-prefix-0d9a0900-3609-4ebc-925e-83d9618fcca1
   ```