

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Redémarrer les exécutions de State Machine avec redrive in Step Functions
<a name="redrive-executions"></a>

Vous pouvez l'utiliser redrive pour redémarrer les exécutions de flux de travail standard qui ne se sont pas terminées correctement au cours des 14 derniers jours. Il s’agit notamment des exécutions ayant échoué, ayant été abandonnées ou dont le délai a expiré.

Lorsque vous effectuez redrive une exécution, Step Functions poursuit l'exécution échouée à partir de l'étape infructueuse et utilise la même entrée. Step Functionspréserve les résultats et l'historique d'exécution des étapes réussies, qui ne sont pas réexécutées lors redrive d'une exécution. Supposons, par exemple, que votre flux de travail contienne deux états : un [Passer l'état du flux de travail](state-pass.md) état suivi d'un [État du flux de travail des tâches](state-task.md) état. Si l'exécution de votre flux de travail échoue à l'état Tâche et que vous redrive l'exécutez, l'exécution replanifie puis réexécute l'état Tâche.

Redrivenles exécutions utilisent la même définition de machine à états et le même ARN d'exécution que ceux utilisés lors de la tentative d'exécution initiale. Si votre tentative d'exécution initiale était associée à une [version](concepts-state-machine-version.md), à un [alias](concepts-state-machine-alias.md) ou aux deux, l'redrivenexécution est associée à la même version, au même alias, ou aux deux. Même si vous mettez à jour votre alias pour qu'il pointe vers une autre version, l'redrivenexécution continue d'utiliser la version associée à la tentative d'exécution initiale. Comme redriven les exécutions utilisent la même définition de machine à états, vous devez démarrer une nouvelle exécution si vous mettez à jour la définition de votre machine à états.

Lors redrive d'une exécution, le délai d'expiration au niveau de la machine à états, s'il est défini, est remis à 0. Pour plus d'informations sur le délai d'expiration au niveau de la machine à états, consultez`TimeoutSeconds`. 

redrivesLes exécutions sont considérées comme des transitions d'état. Pour plus d'informations sur l'impact des transitions entre États sur la facturation, consultez [Step Functions Pricing](https://aws.amazon.com/step-functions/pricing/).

## Redriveéligibilité en cas d'exécution infructueuse
<a name="redrive-eligibility"></a>

Vous pouvez exécuter redrive des exécutions si votre tentative d'exécution initiale répond aux conditions suivantes :
+ Vous avez commencé l'exécution le 15 novembre 2023 ou après cette date. Les exécutions que vous avez commencées avant cette date ne sont pas éligiblesredrive.
+ Le statut d'exécution ne l'est pas`SUCCEEDED`.
+ L'exécution du flux de travail n'a pas dépassé le redrivable délai de 14 jours. RedrivableLa période fait référence au temps pendant lequel vous pouvez redrive effectuer une exécution donnée. Cette période commence le jour où une machine d'État termine son exécution.
+ L'exécution du flux de travail n'a pas dépassé la durée d'ouverture maximale d'un an. Pour plus d'informations sur les quotas d'exécution des machines à états, consultez[Quotas liés aux exécutions par les machines de l'État](service-quotas.md#service-limits-state-machine-executions).
+ L'historique des événements d'exécution est inférieur à 24 999. Redrivenles exécutions ajoutent leur historique des événements à l'historique des événements existant. Assurez-vous que l'exécution de votre flux de travail contient moins de 24 999 événements pour tenir compte de `ExecutionRedriven` l'événement historique et d'au moins un autre événement historique.

## Redrivecomportement des différents États
<a name="redrive-behavior-states"></a>

En fonction de l'état qui a échoué dans votre flux de travail, le redrive comportement de tous les états d'échec varie. Le tableau suivant décrit le redrive comportement de tous les états.


| Nom de l'État | Redrivecomportement d'exécution | 
| --- | --- | 
| [Passer l'état du flux de travail](state-pass.md) | Si une étape précédente échoue ou si le délai d'expiration de la machine à états expire, l'état Pass est quitté et n'est pas exécuté. redrive | 
| [État du flux de travail des tâches](state-task.md) | Planifie et recommence l'état de la tâche.<br />Lorsque vous redrive effectuez une exécution qui réexécute un état de tâche, l'état `TimeoutSeconds` correspondant, s'il est défini, est remis à 0. Pour plus d'informations sur le délai d'expiration, voir [État de la tâche](state-task.md#task-state-fields). | 
| [État du flux de travail choisi](state-choice.md) | Réévalue les règles de l'état Choice. | 
| [État du flux de travail en attente](state-wait.md) | Si l'état indique `Timestamp` ou `TimestampPath` fait référence à un horodatage antérieur, redrive provoque la sortie de l'état Wait et entre dans l'état spécifié dans le champ. `Next` | 
| [État du flux de travail réussi](state-succeed.md) | N'indique pas redrive les exécutions automatiques qui passent à l'état Succeed. | 
| [État du flux de travail défaillant](state-fail.md) | Repasse à l'état Fail et échoue à nouveau. | 
| [État du flux de travail parallèle](state-parallel.md) | Replanifie et redrives uniquement les branches qui ont échoué ou ont été abandonnées.<br />Si l'état a échoué en raison d'une `States.DataLimitExceeded` erreur, l'état parallèle est réexécuté, y compris les branches qui ont réussi lors de la tentative d'exécution initiale. | 
| [État de la carte intégrée](state-map-inline.md) | Replanifie et redrives uniquement les itérations qui ont échoué ou ont été abandonnées.<br />Si l'état a échoué en raison d'une `States.DataLimitExceeded` erreur, l'état Inline Map est réexécuté, y compris les itérations réussies lors de la tentative d'exécution initiale. | 
| [État de la carte distribuée](state-map-distributed.md) | redrivesles exécutions infructueuses du flux de travail enfant dans un [Map Run](concepts-examine-map-run.md). Pour de plus amples informations, veuillez consulter [RedrivingExécutions de la carte lors de l'exécution de Step Functions](redrive-map-run.md).<br />Si l'état a échoué en raison d'une `States.DataLimitExceeded` erreur, l'état de la carte distribuée est réexécuté. Cela inclut les flux de travail enfants qui ont réussi lors de la tentative d'exécution initiale. | 

## Autorisation IAM pour redrive une exécution
<a name="redrive-iam-permission"></a>

Step Functions a besoin des autorisations appropriées pour redrive une exécution. L'exemple de politique IAM suivant accorde le minimum de privilèges requis à votre machine d'état pour redriving une exécution. N'oubliez pas de remplacer le {{italicized}} texte par les informations spécifiques à votre ressource.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "states:RedriveExecution"
            ],
            "Resource": "arn:aws:states:{{us-east-1}}:{{123456789012}}:execution:{{myStateMachine}}:*"
        }
    ]
}
```

Pour un exemple de l'autorisation dont vous avez besoin pour exécuter redrive une carte, consultez[Exemple de politique IAM pour redriving une carte distribuée](iam-policies-eg-dist-map.md#iam-policy-redrive-dist-map).

## Redrivingexécutions dans la console
<a name="redrive-execution-console"></a>

Vous pouvez redrive sélectionner des exécutions depuis la Step Functions console.

Par exemple, imaginez que vous exécutez une machine à états et qu'un état parallèle ne s'exécute pas.

L'image suivante montre qu'une étape **LambdaInvoke** nommée **Do square number** inside a **Parallel** state est revenue et a échoué. Cela a également entraîné l'échec de l'état **parallèle**. Les branches dont l'exécution était en cours ou non démarrée sont arrêtées et l'exécution de la machine d'état échoue.

![Exemple de graphique illustrant l'échec de l'exécution d'une machine à états.](http://docs.aws.amazon.com/fr_fr/step-functions/latest/dg/images/redrive-eg-failed-workflow.png)


**Vers redrive une exécution depuis la console**

1. Ouvrez la [console Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/), puis choisissez une machine à états existante dont l'exécution a échoué.

1. Sur la page détaillée de la machine d'état, sous **Exécutions**, choisissez une instance d'exécution ayant échoué.

1. Sélectionnez **Redrive**.

1. Dans la **Redrive**boîte de dialogue, sélectionnez **RedriveExécution**.
**Astuce**  
Si vous êtes sur la page *Détails de l'exécution* d'une exécution qui a échoué, effectuez l'une des opérations suivantes pour redrive l'exécution :  
Choisissez **Restaurer**, puis sélectionnez En **cas Redrive d'échec**.
Choisissez **Actions**, puis sélectionnez **Redrive**.

   Notez qu'il redrive utilise la même définition de machine à états et le même ARN. Il poursuit l'exécution à partir de l'étape qui a échoué lors de la tentative d'exécution initiale. Dans cet exemple, il s'agit de l'étape **Do square number** et de la branche **Wait 3 sec** dans l'état **Parallel**. Après avoir redémarré l'exécution de ces étapes infructueuses à l'état **parallèle**, l'exécution de l'étape **Terminé se redrive** poursuivra.

1. Choisissez l'exécution pour ouvrir la page *Détails de l'exécution*.

   Sur cette page, vous pouvez consulter les résultats de l'redrivenexécution. Par exemple, dans la [Résumé de l'exécution](concepts-view-execution-details.md#exec-details-intf-exec-summ) section, vous pouvez voir le **Redrivenombre**, qui représente le nombre de fois qu'une exécution a eu lieuredriven. Dans la section **Événements**, vous pouvez voir les événements d'exécution redrive associés ajoutés aux événements de la tentative d'exécution initiale. Par exemple, l'`ExecutionRedriven`événement.

## Redrivingexécutions à l'aide de l'API
<a name="redrive-execution-api"></a>

Vous pouvez sélectionner redrive [des](#redrive-eligibility) exécutions à l'aide de l'[RedriveExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html)API. Cette API redémarre les exécutions infructueuses des flux de travail standard à partir de l'étape qui a échoué, qui a été interrompue ou qui a expiré.

Dans le AWS Command Line Interface (AWS CLI), exécutez la commande suivante en cas redrive d'échec de l'exécution de la machine à états. N'oubliez pas de remplacer le {{italicized}} texte par les informations spécifiques à votre ressource.

```
aws stepfunctions redrive-execution --execution-arn arn:aws:states:us-east-2:{{account-id}}:execution:{{myStateMachine}}:{{foo}}
```

## Examen des redriven exécutions
<a name="examine-redriven-executions"></a>

Vous pouvez examiner une redriven exécution dans la console ou à l'aide des APIs touches : [GetExecutionHistory](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html)et [DescribeExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html).

**Examiner redriven les exécutions sur console**

1. Ouvrez la [console Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/), puis choisissez une machine à états existante pour laquelle vous avez redriven une exécution.

1. Ouvrez la page *Détails de l'exécution*.

   Sur cette page, vous pouvez consulter les résultats de l'redrivenexécution. Par exemple, dans la [Résumé de l'exécution](concepts-view-execution-details.md#exec-details-intf-exec-summ) section, vous pouvez voir le **Redrivenombre**, qui représente le nombre de fois qu'une exécution a eu lieuredriven. Dans la section **Événements**, vous pouvez voir les événements d'exécution redrive associés ajoutés aux événements de la tentative d'exécution initiale. Par exemple, l'`ExecutionRedriven`événement.

**Examinez les redriven exécutions en utilisant APIs**  
Si vous avez redriven une exécution par machine à états, vous pouvez utiliser l'une des méthodes suivantes APIs pour afficher les détails de l'redrivenexécution. N'oubliez pas de remplacer le {{italicized}} texte par les informations spécifiques à votre ressource.
+ GetExecutionHistory — Renvoie l'historique de l'exécution spécifiée sous forme de liste d'événements. Cette API renvoie également les informations relatives à la redrive tentative d'exécution, si elles sont disponibles.

  Dans le AWS CLI, exécutez la commande suivante.

  ```
  aws stepfunctions get-execution-history --execution-arn arn:aws:states:us-east-2:{{account-id}}:execution:{{myStateMachine}}:{{foo}}
  ```
+ DescribeExecution — Fournit des informations sur l'exécution d'une machine à états. Il peut s'agir de la machine d'état associée à l'exécution, des entrées et sorties d'exécution, des redrive détails de l'exécution, le cas échéant, et des métadonnées d'exécution pertinentes.

  Dans le AWS CLI, exécutez la commande suivante.

  ```
  aws stepfunctions describe-execution --execution-arn arn:aws:states:us-east-2:{{account-id}}:execution:{{myStateMachine}}:{{foo}}
  ```

## Réessayer le comportement des exécutions redriven
<a name="redrive-retry-behavior"></a>

Si votre redriven exécution réexécute un [état [État du flux de travail des tâches](state-task.md)[État du flux de travail parallèle](state-parallel.md), ou Inline Map](state-map-inline.md), pour lequel vous avez défini de nouvelles [tentatives](concepts-error-handling.md#error-handling-retrying-after-an-error), le nombre de tentatives pour ces états est remis à 0 pour tenir compte du nombre maximum de tentatives. redrive Pour une redriven exécution, vous pouvez suivre les tentatives de tentative individuelles de ces états à l'aide de la console.

**Pour examiner les différentes tentatives de tentative dans la console**

1. Sur la page *Détails de l'exécution* de la [console Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/), choisissez un état qui a été réessayé. redrive

1. Choisissez l'redrivesonglet **Rétentatives et**.

1. Cliquez sur l'icône en forme de flèche à côté de chaque nouvelle tentative pour en afficher les détails. Si la nouvelle tentative a réussi, vous pouvez consulter les résultats dans la section **Sortie** qui apparaît dans une liste déroulante.

L'image suivante montre un exemple des nouvelles tentatives effectuées pour un état lors de la tentative d'exécution initiale et redrives de cette exécution. Dans cette image, trois nouvelles tentatives sont effectuées lors des tentatives d'origine et d'redriveexécution. L'exécution réussit à la quatrième redrive tentative et renvoie une sortie de 16.

![Capture d'écran illustrant trois tentatives infructueuses et le succès d'une quatrième tentative.](http://docs.aws.amazon.com/fr_fr/step-functions/latest/dg/images/task-retry-redrive.png)
