

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.

# Étape 4 : Simulation d'un problème et rediffusion des événements pour le rétablissement
<a name="simulate-issue-replay-events-for-recovery"></a>

## Étape 1 : activer le problème simulé et envoyer une deuxième demande d'API
<a name="enable-simulated-issue-send-second-api-request"></a>

1. Connectez-vous à la [AWS Lambda console](https://console.aws.amazon.com/lambda/).

1. Dans le panneau de navigation, choisissez **Fonctions**.

1. Recherchez `serverlessrepo-fork-example` et choisissez `CheckoutFunction`.

1. Sur le **fork-example-ecommerce{{my-app}}- CheckoutFunction -{{ABCDEF}}...** **page, dans la section **Variables d'environnement**, définissez la variable **BUG\_ENABLED** sur **true**, puis choisissez Enregistrer.**

1. Copiez le code JSON suivant dans un fichier nommé `test_event_2.json`.

   ```
   {
   	   "id": 9917,
   	   "date": "2019-03-26T21:11:10-08:00",
   	   "status": "confirmed",
   	   "customer": {
   	      "id": 56999,
   "quantity": 1,
   	      "price": 75.00,
   	      "subtotal": 75.00
   	   }]
   	}
   ```

1. Pour envoyer une demande HTTPS au point de terminaison de votre API, transmettez la charge utile de l'exemple d'événement comme entrée en exécutant une commande `curl`, par exemple :

   ```
   curl -d "$(cat test_event_2.json)" https://abcdefghij.execute-api.us-east-2.amazonaws.com/Prod/checkout
   ```

   L'API renvoie la réponse vide suivante, indiquant une exécution réussie :

   ```
   { }
   ```

## Étape 2 : vérifier la corruption de données simulée
<a name="verify-simulated-data-corruption"></a>

1. Connectez-vous à la [console Amazon DynamoDB](https://console.aws.amazon.com/dynamodb/).

1. Dans le panneau de navigation, choisissez **Tables**.

1. Recherchez `serverlessrepo-fork-example` et choisissez `CheckoutTable`.

1. Dans la page des détails de la table, choisissez **Éléments**, puis choisissez l'élément créé.

   Les attributs stockés sont affichés, certains étant marqués comme **CORROMPU \!**

## Étape 3 : désactiver le problème simulé
<a name="disable-simulated-issue"></a>

1. Connectez-vous à la [AWS Lambda console](https://console.aws.amazon.com/lambda/).

1. Dans le panneau de navigation, choisissez **Fonctions**.

1. Recherchez `serverlessrepo-fork-example` et choisissez `CheckoutFunction`.

1. Sur le **fork-example-ecommerce{{my-app}}- CheckoutFunction -{{ABCDEF}}...** **page, dans la section **Variables d'environnement**, définissez la variable **BUG\_ENABLED** sur **false**, puis choisissez Enregistrer.**

## Étape 4 : activer la rediffusion pour résoudre le problème
<a name="enable-replay-recover-from-simulated-issue"></a>

1. Dans la AWS Lambda console, sur le panneau de navigation, choisissez **Functions**.

1. Recherchez `serverlessrepo-fork-example` et choisissez `ReplayFunction`.

1. Développez la section **Concepteur**, choisissez la vignette **SQS** puis, dans la section **SQS**, choisissez **Activé**.
**Note**  
Il faut compter environ 1 minute pour que le déclencheur source d'événements Amazon SQS soit activé.

1. Choisissez **Enregistrer**.

1. Pour afficher les attributs récupérées, revenez à la console Amazon DynamoDB.

1. Pour désactiver le replay, retournez sur la AWS Lambda console et désactivez le déclencheur de la source d'événements Amazon SQS pour. `ReplayFunction`