Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Redrivingesecuzioni
Puoi utilizzarlo redrive per riavviare le esecuzioni dei flussi di lavoro standard che non sono stati completati correttamente negli ultimi 14 giorni. Queste includono esecuzioni non riuscite, interrotte o scadute.
Quando si esegue redrive un'esecuzione, continua l'esecuzione non riuscita del passaggio non riuscito e utilizza lo stesso input. Step Functionsconserva i risultati e la cronologia di esecuzione dei passaggi riusciti e questi passaggi non vengono rieseguiti durante l'esecuzione. redrive Ad esempio, supponiamo che il flusso di lavoro contenga due stati: uno Pass stato seguito da uno stato. Stato dell'attività Se l'esecuzione del flusso di lavoro non riesce nello stato dell'operazione e redrive l'esecuzione dell'operazione non riesce, l'esecuzione ripianifica e quindi riesegue lo stato dell'operazione.
Redrivenle esecuzioni utilizzano la stessa definizione della macchina a stati e lo stesso ARN di esecuzione utilizzato per il tentativo di esecuzione originale. Se il tentativo di esecuzione originale era associato a una versione, allo stesso alias o a entrambi, l'redrivenesecuzione è associata alla stessa versione, allo stesso alias o a entrambi. Anche se aggiorni l'alias in modo che punti a una versione diversa, l'redrivenesecuzione continua a utilizzare la versione associata al tentativo di esecuzione originale. Poiché redriven le esecuzioni utilizzano la stessa definizione di macchina a stati, è necessario avviare una nuova esecuzione se si aggiorna la definizione della macchina a stati.
Quando si esegue redrive un'esecuzione, il timeout a livello di macchina a stati, se definito, viene reimpostato su 0. Per ulteriori informazioni sul timeout a livello di macchina a stati, vedere. TimeoutSeconds
redrivesLe esecuzioni sono considerate come transizioni di stato. Per informazioni su come le transizioni di stato influiscono sulla fatturazione, consulta Step Functions
Argomenti
Redriveidoneità per esecuzioni non riuscite
È possibile redrive eseguire esecuzioni se il tentativo di esecuzione originale soddisfa le seguenti condizioni:
-
Hai iniziato l'esecuzione il 15 novembre 2023 o dopo tale data. Le esecuzioni iniziate prima di questa data non sono redrive idonee.
-
Lo stato di esecuzione non
SUCCEEDED
lo è. -
L'esecuzione del flusso di lavoro non ha superato il redrivable periodo di 14 giorni. Redrivableil periodo si riferisce al periodo durante il quale è possibile redrive una determinata esecuzione. Questo periodo inizia dal giorno in cui una macchina a stati completa la sua esecuzione.
-
L'esecuzione del flusso di lavoro non ha superato il tempo di apertura massimo di un anno. Per informazioni sulle quote di esecuzione delle macchine a stati, vedere. Quote relative alle esecuzioni di macchine a stati
-
Il conteggio della cronologia degli eventi di esecuzione è inferiore a 24.999. Redrivenle esecuzioni aggiungono la cronologia degli eventi alla cronologia degli eventi esistente. Assicurati che l'esecuzione del flusso di lavoro contenga meno di 24.999 eventi per contenere l'evento della
ExecutionRedriven
cronologia e almeno un altro evento della cronologia.
Redrivecomportamento dei singoli stati
A seconda dello stato che ha avuto esito negativo nel flusso di lavoro, il redrive comportamento di tutti gli stati non riusciti varia. La tabella seguente descrive il redrive comportamento di tutti gli stati.
Nome dello stato | Redrivecomportamento di esecuzione |
---|---|
Pass |
Se un passaggio precedente fallisce o la macchina a stati scade, lo stato Pass viene chiuso e non viene eseguito. redrive |
Stato dell'attività |
Pianifica e riavvia lo stato dell'attività. Quando si redrive esegue un'esecuzione che riesegue uno stato Task, lo stato |
Choice | Rivaluta le regole dello stato Choice. |
Attendi |
Se lo stato specifica |
Succeed |
Non indica le esecuzioni automatiche che entrano redrive nello stato Succeed. |
Fail |
Rientra nello stato Fail e fallisce nuovamente. |
Parallel |
Riprogramma e redrives solo i rami che hanno avuto esito negativo o sono stati interrotti. Se lo stato ha avuto esito negativo a causa di un |
Stato della mappa in linea |
Riprogramma e redrives solo le iterazioni fallite o interrotte. Se lo stato ha avuto esito negativo a causa di un |
Stato della mappa distribuita |
redrivesle esecuzioni non riuscite del workflow secondario in un Map Run. Per ulteriori informazioni, consulta RedrivingMappa corre. Se lo stato ha avuto esito negativo a causa di un |
Autorizzazione IAM a redrive un'esecuzione
Step Functions necessita dell'autorizzazione appropriata per redrive l'esecuzione. Il seguente esempio di policy IAM concede il minimo privilegio richiesto alla macchina a stati per l'esecuzioneredriving. Ricordati di sostituire il testo in corsivo con le informazioni specifiche
della risorsa.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:RedriveExecution" ], "Resource": "arn:aws:states:
us-east-2
:123456789012
:execution:myStateMachine
:*" } ] }
Per un esempio dell'autorizzazione necessaria per eseguire una Map Run, vedi. redrive Esempio di policy IAM per redriving una mappa distribuita
Redrivingesecuzioni in console
È possibile effettuare esecuzioni redrive idonee dalla Step Functions console.
Ad esempio, supponiamo che l'immagine seguente rappresenti il grafico del flusso di lavoro della macchina a stati.
Immagina di utilizzare questa macchina a stati. L'immagine seguente mostra il grafico dell'esecuzione della macchina a stati.
Come mostrato in questa immagine, il passaggio LambdaInvoke denominato Do square number all'interno dello stato Parallel ha restituito un errore. Ciò ha causato il fallimento dello stato Parallel. I rami la cui esecuzione era in corso o non avviata vengono interrotti e l'esecuzione della macchina a stati fallisce.
A redrive un'esecuzione dalla console
-
Apri la console Step Functions
, quindi scegli una macchina a stati esistente la cui esecuzione non è riuscita. -
Nella pagina dei dettagli della macchina a stati, in Esecuzioni, scegli un'istanza di esecuzione non riuscita.
-
Scegli Redrive.
-
Nella finestra Redrivedi dialogo, scegliete Redriveesecuzione.
Suggerimento
Se ti trovi nella pagina Dettagli di esecuzione di un'esecuzione non riuscita, esegui una delle seguenti operazioni: redrive
-
Scegli Ripristina, quindi seleziona Redriveda un errore.
-
Scegli Azioni, quindi seleziona Redrive.
Si noti che redrive utilizza la stessa definizione di macchina a stati e lo stesso ARN. Continua a eseguire l'esecuzione dal passaggio che non è riuscito nel tentativo di esecuzione originale. In questo esempio, si tratta del passaggio Do square number e del ramo Wait 3 sec all'interno dello stato Parallel. Dopo aver riavviato l'esecuzione di questi passaggi non riusciti nello stato Parallel, redrive continuerà l'esecuzione per il passaggio Done.
-
-
Scegliete l'esecuzione per aprire la pagina Dettagli di esecuzione.
In questa pagina è possibile visualizzare i risultati dell'redrivenesecuzione. Ad esempio, nella Riepilogo dell'esecuzione sezione è possibile visualizzare il Redriveconteggio, che rappresenta il numero di volte in cui è stata eseguita un'esecuzioneredriven. Nella sezione Eventi, è possibile visualizzare gli eventi di esecuzione redrive correlati aggiunti agli eventi del tentativo di esecuzione originale. Ad esempio, l'
ExecutionRedriven
evento.
Redrivingesecuzioni tramite API
È possibile utilizzare l'API per le esecuzioni redrive idonee. RedriveExecution Questa API riavvia le esecuzioni non riuscite dei flussi di lavoro standard dal passaggio fallito, interrotto o scaduto.
In AWS Command Line Interface (AWS CLI), esegui il comando seguente per eseguire con successo una macchina a redrive stati. Ricordati di sostituire il testo in corsivo
con le informazioni specifiche della risorsa.
aws stepfunctions redrive-execution --execution-arn arn:aws:states:us-east-2:
123456789012
:execution:myStateMachine
:foo
redrivenEsame delle esecuzioni
È possibile esaminare un'redrivenesecuzione nella console o utilizzando le API: and. GetExecutionHistoryDescribeExecution
Esamina le redriven esecuzioni sulla console
-
Apri la console Step Functions
, quindi scegli una macchina a stati esistente per la quale hai redriven un'esecuzione. -
Apri la pagina Dettagli di esecuzione.
In questa pagina è possibile visualizzare i risultati dell'redrivenesecuzione. Ad esempio, nella Riepilogo dell'esecuzione sezione è possibile visualizzare il Redriveconteggio, che rappresenta il numero di volte in cui è stata eseguita un'esecuzioneredriven. Nella sezione Eventi, è possibile visualizzare gli eventi di esecuzione redrive correlati aggiunti agli eventi del tentativo di esecuzione originale. Ad esempio, l'
ExecutionRedriven
evento.
Esamina redriven le esecuzioni utilizzando le API
Se hai redriven un'esecuzione su una macchina a stati, puoi utilizzare una delle seguenti API per visualizzare i dettagli sull'esecuzione. redriven Ricordati di sostituire il testo in corsivo
con le informazioni specifiche della risorsa.
-
GetExecutionHistory — Restituisce la cronologia dell'esecuzione specificata sotto forma di elenco di eventi. Questa API restituisce anche i dettagli sul redrive tentativo di esecuzione, se disponibili.
In AWS CLI, esegui il comando seguente.
aws stepfunctions get-execution-history --execution-arn arn:aws:states:us-east-2:
123456789012
:execution:myStateMachine
:foo
-
DescribeExecution — Fornisce informazioni sull'esecuzione di una macchina a stati. Può trattarsi della macchina a stati associata all'esecuzione, dell'input e dell'output dell'esecuzione, dei redrive dettagli di esecuzione, se disponibili, e dei metadati di esecuzione pertinenti.
In AWS CLI, esegui il comando seguente.
aws stepfunctions describe-execution --execution-arn arn:aws:states:us-east-2:
123456789012
:execution:myStateMachine
:foo
Riprova il comportamento delle esecuzioni redriven
Se redriven l'esecuzione riesegue uno stato, o Inline Map Stato dell'attivitàParallel, per il quale sono stati definiti nuovi tentativi, il conteggio dei tentativi per questi stati viene reimpostato su 0. Ciò consente il numero massimo di tentativi in corso. redrive Per un'redrivenesecuzione, è possibile tenere traccia dei singoli tentativi di nuovi tentativi di questi stati utilizzando la console.
Per esaminare i singoli tentativi di riprova nella console
-
Nella pagina Dettagli di esecuzione della console Step Functions
, scegli uno stato su redrive cui è stato riprovato. -
Scegliete la scheda Riprova e redrives.
-
Scegli il successivo tentativo per visualizzarne i dettagli. Se il nuovo tentativo è riuscito, puoi visualizzare i risultati in Output, visualizzato in una casella a discesa.
L'immagine seguente mostra un esempio dei tentativi eseguiti per uno stato del tentativo di esecuzione originale e del redrives relativo tentativo. In questa immagine, vengono eseguiti tre tentativi nel tentativo originale e nel tentativo di redrive esecuzione. L'esecuzione riesce al quarto redrive tentativo e restituisce un risultato di 16.