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á.
Continue fluxos de trabalho de longa duração usando Step Functions API (recomendado)
AWS Step Functions foi projetado para executar fluxos de trabalho com duração e número de etapas finitos. As execuções de fluxo de trabalho padrão têm duração máxima de um ano e 25.000 eventos (consulteCotas de serviço do Step Functions).
Para execuções de longa duração, você pode evitar atingir a cota rígida iniciando uma nova execução de fluxo de trabalho a partir do estado. Task
Você precisa dividir seus fluxos de trabalho em máquinas de estado menores que continuam trabalhando em uma nova execução.
Para iniciar novas execuções de fluxo de trabalho, você chamará a StartExecution
API ação do seu Task
estado e passará os parâmetros necessários.
O Step Functions pode iniciar a execução do fluxo de trabalho chamando o seu próprio API como um serviço integrado. Recomendamos que você adote essa abordagem para evitar exceder as service quotas para execuções de longa duração.
Etapa 1: Criar uma máquina de estado de execução longa
Crie uma máquina de estado de longa duração que você deseja iniciar do estado Task
de uma máquina de estado diferente. Para este tutorial, use a máquina de estado que usa uma função do Lambda.
nota
Copie o nome e o Nome do recurso da Amazon dessa máquina de estado em um arquivo de texto para uso posterior.
Etapa 2: criar uma máquina de estado para chamar a API ação Step Functions
Para iniciar execuções de fluxo de trabalho usando um estado Task
-
Abra o console do Step Functions
e clique em Criar máquina de estado. -
Na caixa de diálogo Escolher um modelo, selecione Em branco.
-
Escolha Selecionar para abrir o Workflow Studio emModo de design.
-
Na guia Ações, arraste a StartExecutionAPIação e solte-a no estado vazio chamado Arraste o primeiro estado aqui.
-
Escolha o StartExecutionestado e faça o seguinte na guia Configuração emModo de design:
-
Renomeie o estado para
Start nested execution
. -
Para Tipo de integração, escolha AWS SDK- novo na lista suspensa.
-
Em APIParâmetros, faça o seguinte:
-
Para
StateMachineArn
, substitua o nome de recurso da Amazon de amostra pelo ARN da sua máquina de estado. Por exemplo, insira a ARN da máquina de estado que usa Lambda. -
Para o nó
Input
, substitua o texto do espaço reservado pelo seguinte valor:"Comment": "Starting workflow execution using a Step Functions API action"
-
Certifique-se de que suas entradas em APIParâmetros sejam semelhantes às seguintes:
{ "StateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:
LambdaStateMachine
", "Input": { "Comment": "Starting workflow execution using a Step Functions API action", "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id" }
-
-
-
(Opcional) Escolha Definição no Painel do Inspector painel para visualizar a definição gerada automaticamente Amazon States Language (ASL) do seu fluxo de trabalho.
dica
Você também pode ver a ASL definição no Editor de código Workflow Studio. No editor de código, você também pode editar a ASL definição do seu fluxo de trabalho.
-
Especifique um nome para a máquina de estado. Para fazer isso, escolha o ícone de edição ao lado do nome padrão da máquina de estado de MyStateMachine. Em seguida, em Configuração da máquina de estado, insira um nome na caixa Nome da máquina de estado.
Para este tutorial, insira o nome
ParentStateMachine
. -
(Opcional) Em Configuração da máquina de estado, especifique outras configurações do fluxo de trabalho, como o tipo de máquina de estado e a função de execução.
Para este tutorial, mantenha todas as seleções padrão nas Configurações da máquina de estado.
Se você já criou uma IAM função com as permissões corretas para sua máquina de estado e deseja usá-la, em Permissões, selecione Escolher uma função existente e selecione uma função na lista. Ou selecione Inserir uma função ARN e, em seguida, forneça uma ARN para essa IAM função.
-
Na caixa de diálogo Confirmar criação do perfil, selecione Confirmar para continuar.
Você também pode escolher Exibir configurações do perfil para voltar às Configurações da máquina de estado.
nota
Se você excluir a IAM função criada pelo Step Functions, o Step Functions não poderá recriá-la posteriormente. Da mesma forma, se você modificar a função (por exemplo, removendo Step Functions dos principais na IAM política), o Step Functions não poderá restaurar suas configurações originais posteriormente.
Etapa 3: atualizar a IAM política
Para garantir que sua máquina de estado tenha permissões para iniciar a execução da máquina de estado que usa uma função Lambda, você precisa anexar uma política embutida à função da sua máquina de estado. IAM Para obter mais informações, consulte Incorporação de políticas em linha no Guia do IAMusuário.
-
Na ParentStateMachinepágina, escolha a IAMfunção ARN para navegar até a página IAM Funções da sua máquina de estado.
-
Atribua uma permissão apropriada à IAM função do ParentStateMachinepara que ela possa iniciar a execução de outra máquina de estado. Para atribuir a permissão, faça o seguinte:
-
Na página IAM Funções, escolha Adicionar permissões e, em seguida, escolha Criar política embutida.
-
Na página Criar política, escolha a JSONguia.
-
Substitua o texto pela política a seguir.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:
us-east-2
:123456789012
:stateMachine:LambdaStateMachine
" ] } ] } -
Escolha Revisar política.
-
Especifique um nome para a política e escolha Criar política.
-
Etapa 4: Executar a máquina de estado
As execuções de máquinas de estado são instâncias em que o fluxo de trabalho é executado para a realização de tarefas.
-
Na ParentStateMachinepágina, escolha Iniciar execução.
A caixa de diálogo Iniciar execução é exibida.
-
Na caixa de diálogo Iniciar execução, faça o seguinte:
-
(Opcional) Insira um nome de execução personalizado para substituir o padrão gerado.
ASCIINão-nomes e registro
Step Functions aceita nomes para máquinas de estado, execuções, atividades e rótulos que não contenham ASCII caracteres. Como esses caracteres não funcionarão com a Amazon CloudWatch, recomendamos usar somente ASCII caracteres para que você possa acompanhar as métricas CloudWatch.
-
(Opcional) Na caixa Entrada, insira os valores de entrada no JSON formato para executar seu fluxo de trabalho.
-
Selecione Iniciar execução.
-
O console do Step Functions direciona você para uma página em que o título é o ID da execução. Essa página é conhecida como página de Detalhes da execução. Nesta página, você pode revisar os resultados da execução à medida que a execução avança ou após a conclusão.
Para revisar os resultados da execução, escolha estados individuais na Exibição em gráfico e, em seguida, escolha as guias individuais no painel Detalhes da etapa para visualizar os detalhes de cada estado, incluindo entrada, saída e definição, respectivamente. Para obter detalhes sobre as informações de execução que você pode visualizar na página Detalhes da execução, consulte Visão geral dos detalhes da execução.
-
-
Abra a LambdaStateMachinepágina e observe uma nova execução acionada pelo ParentStateMachine.