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á.
Referência da ação de invocação do AWS Step Functions
Uma ação do AWS CodePipeline que faça o seguinte:
-
Inicia uma execução de máquina de estado do AWS Step Functions a partir do 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.
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 no Guia do desenvolvedor do Lambda.
Tipo de ação
-
Categoria:
Invoke -
Proprietário:
AWS -
Fornecedor:
StepFunctions -
Versão:
1
Parâmetros de configuração
- 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-6bafd7fde791Para uma máquina de estado expressa, o nome deve conter apenas 0-9, A-Z, a-z, - e _.
- 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 a entrada para a execução da máquina de estado. Um artefato de entrada é necessário quando InputType é definido como FilePath.
Entrada de exemplo para o campo Input quando FilePath é selecionado:
assets/input.json
-
- Entrada
-
Obrigatório: condicional
-
Literal: quando InputType é definido como Literal (padrão), este 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, este 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)
-
Número de artefatos:
0 to 1 -
Descrição: se InputType estiver definido como FilePath, este artefato será necessário e será usado para originar a entrada para a execução da máquina de estado.
Artefatos de saída
-
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 propriedade
outputda resposta da API DescribeExecution do Step Functions após a execução da máquina de estado ser concluída com êxito. -
Máquinas de estado expressas: não são compatíveis.
-
Variáveis de saída
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.
- 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
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
Exemplo de entrada padrão
Exemplo de entrada literal
Exemplo de arquivo de entrada
Comportamento
Durante uma versão, 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 de configuração de ação Input é usado como a 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 máquina de estado sem entrada, consulte a API StartExecution do Step Functions.
Quando InputType é definido como FilePath, a ação descompacta o artefato de entrada e usa o conteúdo do arquivo especificado no campo de configuração da ação Input como entrada para a máquina de estado. Quando FilePath é especificado, o campo Input é obrigatório e deve existir um artefato de entrada; caso contrário, ocorrerá falha na ação.
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
Se a execução da máquina de estado padrão foi iniciada com êxito, o CodePipeline sondará a API DescribeExecution até que a execução atinja um 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 propriedade output da resposta da API DescribeExecution do Step Functions após a execução da máquina de estado ser concluída com êxito. Observe que há restrições de comprimento de saída impostas nesta API.
Tratamento de erros
-
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 conseguir atingir um estado de terminal antes que a ação do Step Functions do CodePipeline atinja o seu tempo limite (padrão de 7 dias), ocorrerá falha na execução da ação. 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.
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_OUT ou ABORTED, ocorrerá falha na execução da ação.
Máquinas de estado expressas
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 no CodePipeline, a execução da ação será bem-sucedida mesmo se ocorrer falha na execução da máquina de estado.
Tratamento de erros
-
Se o CodePipeline não conseguir iniciar uma execução de máquina de estado, ocorrerá falha na execução da ação. Caso contrário, a ação será executada com êxito imediatamente. A ação será executada no CodePipeline independentemente de quanto tempo a execução da máquina de estado levará para ser concluída ou de seu resultado.
Consulte também
Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
-
Guia do desenvolvedor do AWS Step Functions: para obter informações sobre máquinas de estado, execuções e entradas para máquinas de estado, consulte o Guia do desenvolvedor do AWS Step Functions.
-
Tutorial: Usar uma ação de chamada do AWS Step Functions em um pipeline: 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.