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á.
Criar uma API do Step Functions usando o API Gateway
Você pode usar o Amazon API Gateway para associá-lo a AWS Step Functions APIs métodos em uma API do API Gateway. Quando uma solicitação HTTPS for enviada para um método de API, o API Gateway invoca as ações de sua API do Step Functions.
Este tutorial mostra como criar uma API que usa um único recurso e o método POST para se comunicar com a ação de API StartExecution. Você usará o console AWS Identity and Access Management (IAM) para criar uma função para o API Gateway. Em seguida, você usará o console do API Gateway para criar uma API do API Gateway, criar um recurso e um método e mapear o método para a ação de API StartExecution. Ao final, você implantará e testará sua API.
nota
Embora o Amazon API Gateway possa iniciar uma execução do Step Functions chamando StartExecution, você deve chamar DescribeExecution para obter o resultado.
Etapa 1: Criar um perfil do IAM para o API Gateway
Antes de criar a API do API Gateway, você precisa permitir que o API Gateway chame ações de API do Step Functions.
Para configurar permissões para o API Gateway
- 
                    Faça login no console do IAM e escolha Perfis, Criar perfil. 
- 
                    Na página Select trusted entity (Selecionar entidade confiável), faça o seguinte: - Para o Tipo de entidade confiável, retenha a seleção-padrão de AWS service (Serviço da AWS). 
- Em Caso de uso, escolha API Gateway na lista suspensa. 
 
- Selecione API Gateway e escolha Próximo. 
- 
                    Na página Adicionar permissões, escolha Próximo. 
- 
                    (Opcional) Na página Nomear, revisar e criar, insira detalhes, como o nome da função. Por exemplo, digite APIGatewayToStepFunctions.
- Selecione Criar perfil. - O perfil do IAM é exibido na lista de perfis. 
- 
                    Escolha o nome da sua função e anote o Role ARN (ARN da função), conforme mostrado no exemplo a seguir. arn:aws:iam::123456789012:role/APIGatewayToStepFunctions
Para anexar uma política ao perfil do IAM
- 
                    Na página Roles (Funções), procure sua função ( APIGatewayToStepFunctions) e escolha-a.
- 
                    Na guia Permissões, escolha Adicionar permissões e Anexar políticas. 
- 
                    Na página Anexar política, procure AWSStepFunctionsFullAccess, escolha a política e escolha Adicionar permissões.
Etapa 2: Criar a API no API Gateway
Depois de criar o perfil do IAM, poderá criar uma API personalizada do API Gateway.
Para criar a API
- 
                    Abra o console do Amazon API Gateway e, depois, selecione Criar API. 
- Na página Escolher um tipo de API, no painel API REST, escolha Criar. 
- Na página Criar API REST, selecione Nova API e, em seguida, insira - StartExecutionAPIo nome da API.
- Mantenha o Tipo de endpoint da API como Regional e, depois, selecione Criar API. 
Para criar um recurso
- 
                    Na página Recursos do StartExecutionAPI, escolha Criar recurso.
- 
                    Na página Criar recurso, insira executionpara Nome do recurso e, depois, selecione Criar recurso.
Para criar um método POST
- 
                    Selecione o recurso /execution e, depois, Criar método. 
- 
                    Em Tipo de método, selecione POST.
- 
                    Em Tipo de integração, selecione Serviço da AWS . 
- 
                    Em Região da AWS, selecione uma região na lista. 
- 
                    Em AWS service (Serviço da AWS), selecione Step Functions na lista. 
- Mantenha o subdomínio da AWS em branco. 
- 
                    Em Método HTTP, selecione POST na lista. notaTodas as ações da API do Step Functions usam o método HTTP POST.
- 
                    Em Tipo de ação, selecione Usar nome da ação. 
- 
                    Em Nome da ação, insira StartExecution.
- 
                    Em Função de execução, insira o ARN do perfil do IAM criado antes, conforme mostrado no exemplo a seguir. arn:aws:iam::123456789012:role/APIGatewayToStepFunctions
- 
                        Mantenha as opções padrão para Cache de credenciais e Tempo limite padrão e, depois, selecione Salvar. 
O mapeamento visual entre o API Gateway e o Step Functions é exibido na página /execução – POST – Método de execução.
Etapa 3: Testar e implantar a API do API Gateway
Assim que você tiver criado a API, teste-a e implante-a.
Para testar a comunicação entre o API Gateway e o Step Functions
- 
                    Na página /execution - POST - Execução do método, selecione Testar. Talvez seja necessário selecionar o botão de seta para a direita para mostrar a guia. 
- 
                    Na guia /execution – POST – Teste de método, copie os parâmetros da solicitação a seguir na seção Corpo da solicitação usando o ARN de uma máquina de estado existente (ou criar uma máquina de estado que use uma função do Lambda) e, depois, selecione Testar. { "input": "{}", "name": "MyExecution", "stateMachineArn": "arn:aws:states:" }region:123456789012:stateMachine:HelloWorldPara obter mais informações, consulte Request Syntax (Sintaxe da solicitação) StartExecutionna Referência da API AWS Step Functions .notaSe não quiser incluir o ARN da máquina de estado no corpo da chamada do API Gateway, será possível configurar um modelo de mapeamento na guia Solicitação de integração, conforme mostrado no exemplo a seguir. { "input": "$util.escapeJavaScript($input.json('$'))", "stateMachineArn": "$util.escapeJavaScript($stageVariables.arn)" }Com essa abordagem, você pode especificar máquinas ARNs de estado diferentes com base em seu estágio de desenvolvimento (por exemplo dev,test, eprod). Para obter mais informações sobre como especificar variáveis de estágio em um modelo de mapeamento, consulte$stageVariablesno Guia do desenvolvedor do API Gateway.
- 
                    A execução começa e o ARN da execução e a respectiva data de referência de época são exibidos em Corpo da resposta. { "executionArn": "arn:aws:states:", "startDate": 1486768956.878 }region:123456789012:execution:HelloWorld:MyExecutionnotaVocê pode visualizar a execução escolhendo sua máquina de estado no console do AWS Step Functions . 
Para implantar sua API
- 
                    Na página Recursos de StartExecutionAPI, escolha Deploy API.
- Em Estágio, selecione Novo estágio. 
- Em Stage name (Nome do estágio), insira - alpha.
- (Opcional) Em Description (Descrição), insira uma descrição. 
- Escolha Implantar. 
Para testar sua implantação
- 
                    Na página Estágios de StartExecutionAPI, expanda alpha,/, /execution, POST e escolha o método POST.
- 
                    Em Substituições de método, selecione o ícone de cópia para copiar o URL de invocação da API. O URL completo deve ser semelhante ao exemplo a seguir. https://a1b2c3d4e5.execute-api.region.amazonaws.com/alpha/execution
- 
                    Na linha de comando, execute o comando curlusando o ARN de sua máquina de estado e chame o URL de sua implantação, conforme mostrado no exemplo a seguir.curl -X POST -d '{"input": "{}","name": "MyExecution","stateMachineArn": "arn:aws:states:region:123456789012:stateMachine:HelloWorld"}' https://a1b2c3d4e5.execute-api.region.amazonaws.com/alpha/executionO ARN de execução e sua data de epoch são retornados, conforme mostrado no exemplo a seguir. {"executionArn":"arn:aws:states:region:123456789012:execution:HelloWorld:MyExecution","startDate":1.486772644911E9}notaSe você receber um erro “Token de autenticação ausente”, verifique se o URL de invocação termina com /execution.