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á.
Reiniciando as execuções da máquina de estado com redrive em Step Functions
Você pode usar: redrive para reiniciar as execuções de fluxos de trabalho padrão que não foram concluídas com êxito nos últimos 14 dias. Isso inclui execuções com falha, abortadas ou expiradas.
Quando você redrive uma execução, continua a execução com falha a partir da etapa malsucedida e usa a mesma entrada. Step Functions preserva os resultados e o histórico de execução das etapas bem-sucedidas, que não são executadas novamente quando você redrive uma execução. Por exemplo, digamos que seu fluxo de trabalho contenha dois estados: um estado Passar estado do fluxo de trabalho seguido por um Estado do fluxo de trabalho da tarefa. Se a execução do seu fluxo de trabalho falhar no estado Tarefa, e você redrive a execução, a execução reagenda e, em seguida, executa novamente o estado da Tarefa.
Redriven as execuções usam a mesma definição e execução da máquina de estado ARN que foram usadas para a tentativa de execução original. Se sua tentativa de execução original foi associada a uma versão, alias ou a ambos, o redriven a execução está associada à mesma versão, alias ou a ambos. Mesmo se você atualizar seu alias para apontar para uma versão diferente, o redriven a execução continua usando a versão associada à tentativa de execução original. Porque redriven execuções usam a mesma definição de máquina de estado; você deve iniciar uma nova execução se atualizar sua definição de máquina de estado.
Quando você redrive em uma execução, o tempo limite do nível da máquina de estado, se definido, é redefinido para 0. Para obter mais informações sobre o tempo limite de máquinas de estado, consulte TimeoutSeconds
.
Execução redrives são consideradas transições de estado. Para ver informações sobre como as transições de estado afetam o faturamento, consulte Preços do Step Functions
Redrive elegibilidade para execuções malsucedidas
Você pode redrive execuções se sua tentativa de execução original atender às seguintes condições:
-
Você iniciou a execução em 15 de novembro de 2023 ou após essa data. As execuções que você iniciou antes dessa data não são elegíveis para redrive.
-
O status de execução não é
SUCCEEDED
. -
A execução do fluxo de trabalho não excedeu o redrivable período de 14 dias. Redrivable período refere-se ao tempo durante o qual você pode redrive uma determinada execução. Esse período começa no dia em que uma máquina de estado conclui sua execução.
-
A execução do fluxo de trabalho não excedeu o tempo máximo de abertura de um ano. Para obter informações sobre cotas de execução de máquinas de estado, consulte Cotas relacionadas a execuções de máquina de estado.
-
A contagem do histórico de eventos de execução é inferior a 24.999. Redriven as execuções anexam seu histórico de eventos ao histórico de eventos existente. Certifique-se de que a execução do fluxo de trabalho contenha menos de 24.999 eventos, para acomodar o evento de
ExecutionRedriven
do histórico e pelo menos um outro evento do histórico.
Redrive comportamento de estados individuais
Dependendo do estado que falhou em seu fluxo de trabalho, o redrive o comportamento de todos os estados malsucedidos varia. A tabela a seguir descreve o redrive comportamento de todos os estados.
Nome do estado | Redrive comportamento de execução |
---|---|
Passar estado do fluxo de trabalho |
Se uma etapa anterior falhar ou a máquina de estado atingir o tempo limite, o estado Pass será encerrado e não será executado em redrive. |
Estado do fluxo de trabalho da tarefa |
Agenda e inicia o estado Tarefa novamente. Quando você redrive uma execução que executa novamente um estado de Tarefa, o |
Escolha o estado do fluxo de trabalho | Reavalia as regras do estado Escolha. |
Aguardar estado do fluxo de trabalho |
Se o estado especificar |
Estado bem-sucedido do fluxo de trabalho |
Não redrive execuções de máquinas de estado que entram no estado Succeed. |
Estado de falha do fluxo de trabalho |
Entra novamente no estado Falha e há uma nova falha. |
Estado do fluxo de trabalho paralelo |
Reagendas e redrives somente aquelas ramificações que falharam ou foram abortadas. Se o estado falhar devido a um erro |
Estado Mapa inline |
Reagendas e redrives somente aquelas iterações que falharam ou foram abortadas. Se o estado falhar devido a um erro |
Estado Mapa distribuído |
redrives as execuções malsucedidas do fluxo de trabalho secundário em um Map Run. Para obter mais informações, consulte Redriving Map Runs em execuções de Step Functions. Se o estado falhar devido a um erro |
IAMpermissão para redrive uma execução
Step Functions precisa da permissão apropriada para redrive uma execução. O exemplo IAM de política a seguir concede o menor privilégio necessário à sua máquina de estado para redriving uma execução. Lembre-se de substituir o italicized
texto com as informações específicas do seu recurso.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:RedriveExecution" ], "Resource": "arn:aws:states:
us-east-2
:123456789012
:execution:myStateMachine
:*" } ] }
Para obter um exemplo da permissão que você precisa redrive a Map Run, vejaExemplo de IAM política para redriving um mapa distribuído.
Redriving execuções no console
Você pode redrive execuções elegíveis do Step Functions console.
Por exemplo, imagine que você executa uma máquina de estados e um estado paralelo não é executado.
A imagem a seguir mostra um Lambda A etapa de invocação chamada Fazer um número quadrado dentro de um estado paralelo retornou uma falha. Isso também fez com que o estado Paralelo falhasse. As ramificações cuja execução estava em andamento ou não tinha sido iniciada são interrompidas e a execução da máquina de estado falha.
Para redrive uma execução a partir do console
-
Abra o console do Step Functions
e, em seguida, escolha uma máquina de estado existente cuja execução tenha falhado. -
Na página de detalhes da máquina de estado, em Execuções, escolha uma instância de execução com falha.
-
Escolha Redrive.
-
No Redrivecaixa de diálogo, escolha Redrive execução.
dica
Se você estiver na página Detalhes da execução de uma execução com falha, faça o seguinte para redrive a execução:
-
Escolha Recuperar e, em seguida, selecione Redrive do fracasso.
-
Escolha Ações e, em seguida, selecione Redrive.
Observe que redrive usa a mesma definição de máquina de estado ARN e. A execução é retomada a partir da etapa onde houve a falha na tentativa original. Neste exemplo, a etapa é Fazer número quadrado e a ramificação Aguardar 3 seg dentro do estado Paralelo. Depois de reiniciar a execução dessas etapas malsucedidas no estado Paralelo, redrive continuará a execução da etapa Concluído.
-
-
Escolha a execução para abrir a página Detalhes da execução .
Nesta página, você pode ver os resultados do redriven execução. Por exemplo, na Resumo da execução seção, você pode ver Redrive contagem, que representa o número de vezes que uma execução foi redriven. Na seção Eventos, você pode ver o redrive eventos de execução relacionados anexados aos eventos da tentativa de execução original. Por exemplo, o evento de
ExecutionRedriven
.
Redriving execuções usando API
Você pode redrive execuções elegíveis usando o. RedriveExecutionAPI Isso API reinicia as execuções malsucedidas dos fluxos de trabalho padrão a partir da etapa que falhou, foi abortada ou atingiu o tempo limite.
No AWS Command Line Interface (AWS CLI), execute o seguinte comando para redrive uma execução malsucedida da máquina de estado. Lembre-se de substituir o italicized
texto com as informações específicas do seu recurso.
aws stepfunctions redrive-execution --execution-arn arn:aws:states:us-east-2:
123456789012
:execution:myStateMachine
:foo
Examinando redriven execuções
Você pode examinar um redriven execução no console ou usando oAPIs: GetExecutionHistoryDescribeExecutione.
Examine redriven execuções no console
-
Abra o console Step Functions
e, em seguida, escolha uma máquina de estado existente para a qual você tenha redriven uma execução. -
Abra a página de Detalhes da execução.
Nesta página, você pode ver os resultados do redriven execução. Por exemplo, na Resumo da execução seção, você pode ver Redrive contagem, que representa o número de vezes que uma execução foi redriven. Na seção Eventos, você pode ver o redrive eventos de execução relacionados anexados aos eventos da tentativa de execução original. Por exemplo, o evento de
ExecutionRedriven
.
Examine redriven execuções usando APIs
Se você tem redriven uma execução de máquina de estado, você pode usar uma das opções a seguir APIs para visualizar detalhes sobre o redriven execução. Lembre-se de substituir o italicized
texto com as informações específicas do seu recurso.
-
GetExecutionHistory — Retorna o histórico da execução especificada como uma lista de eventos. Isso API também retorna os detalhes sobre o redrive tentativa de execução, se disponível.
No AWS CLI, execute o comando a seguir.
aws stepfunctions get-execution-history --execution-arn arn:aws:states:us-east-2:
123456789012
:execution:myStateMachine
:foo
-
DescribeExecution — Fornece informações sobre a execução de uma máquina de estado. Essa pode ser a máquina de estado associada à execução, à entrada e saída da execução, à execução redrive detalhes, se disponíveis, e metadados de execução relevantes.
No AWS CLI, execute o comando a seguir.
aws stepfunctions describe-execution --execution-arn arn:aws:states:us-east-2:
123456789012
:execution:myStateMachine
:foo
Repetir o comportamento do redriven execuções
Se suas receitas redriven a execução executa novamente um estado Estado do fluxo de trabalho da tarefaEstado do fluxo de trabalho paralelo,, ou Inline Map, para o qual você definiu novas tentativas. A contagem de tentativas para esses estados é redefinida para 0 para permitir o número máximo de tentativas em redrive. Para um redriven execução, você pode rastrear tentativas individuais desses estados usando o console.
Para examinar as tentativas individuais de repetição no console
-
Na página Detalhes da Execução do console Step Functions
, escolha um estado que foi repetido no redrive. -
Escolha as novas tentativas e redrivesaba.
-
Escolha o ícone de seta ao lado de cada nova tentativa para ver seus detalhes. Se a nova tentativa for bem-sucedida, você poderá ver os resultados na Saída que aparece em uma caixa suspensa.
A imagem a seguir mostra um exemplo das novas tentativas realizadas para um estado na tentativa de execução original e o redrives dessa execução. Nesta imagem, três novas tentativas são executadas no original e redrive tentativas de execução. A execução é bem-sucedida na quarta redrive tenta e retorna uma saída de 16.