Tutorial: Usar uma ação de chamada do AWS Step Functions em um pipeline
É possível usar o 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 do S3 fornecido pelo cliente será usado pelo CodePipeline para artefatos. (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 pipeline, garanta que o bucket de artefatos do S3 seja de propriedade de Contas da AWS seguras e confiáveis.
Neste tutorial, você executará as seguintes tarefas:
-
Crie uma máquina de estado padrão no 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.
Tópicos
Pré-requisito: criar ou escolher um pipeline simples
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) ou Tutorial: Criar um pipeline simples (repositório do CodeCommit).
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 do AWS Identity and Access Management (IAM), localize o perfil e, depois, adicione as permissões à política do perfil. Para obter mais informações, consulte Adicionar permissões ao perfil de serviço do CodePipeline.
Etapa 1: Criar a máquina de estado de exemplo
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 no Guia do desenvolvedor do AWS Step Functions.
Etapa 2: Adicionar uma ação de invocação do Step Functions ao pipeline
Adicione uma ação de invocação do Step Functions ao pipeline da seguinte maneira:
-
Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em http://console.aws.amazon.com/codesuite/codepipeline/home
. Os nomes de todos os pipelines associados à sua conta da AWS são exibidos.
-
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.
-
Na página de detalhes do pipeline, selecione Editar.
-
Na segunda etapa do pipeline simples, escolha Editar etapa. Escolha Excluir. Isso exclui a segunda etapa agora que você não precisa mais dela.
-
Na parte inferior do diagrama, escolha + Add stage (+ Adicionar estágio).
-
Em Nome da etapa, insira um nome para a etapa, como
Invoke, e escolha Adicionar etapa. -
Escolha + Add action group (Adicionar grupo de ação).
-
Em Nome da ação, insira um nome, como
Invoke. -
Em Provedor de ação, selecione AWS Step Functions. Permita que Region (Região) seja definida para a região do pipeline.
-
Em Artefatos de entrada, selecione
SourceArtifact. -
No ARN da máquina de estado, escolha o Nome de recurso da Amazon (ARN) para a máquina de estado criada anteriormente.
-
(Opcional) Em Prefixo de nome de execução, insira um prefixo a ser adicionado ao ID de execução da máquina de estado.
-
Em Tipo de entrada, escolha Literal.
-
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 no CodePipeline para descrever artefatos de entrada para ações.
Neste exemplo, insira o seguinte JSON:
{"IsHelloWorldExample": true} -
Selecione Concluído.
-
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.
-
Para enviar as alterações e iniciar uma execução de pipeline, selecione Release change (Liberar alteração) e Release (Liberar).
-
No pipeline concluído, escolha AWS Step Functions na ação de invocação. No console do AWS Step Functions, visualize o ID de execução da máquina de estado. O ID mostra o nome da máquina de estado
HelloWorlde o ID de execução da máquina de estado com o prefixomy-prefix.arn:aws:states:us-west-2:account-ID:execution:HelloWorld:my-prefix-0d9a0900-3609-4ebc-925e-83d9618fcca1