

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à.

# Fase 4: Simulazione di un problema e riproduzione degli eventi per il ripristino
<a name="simulate-issue-replay-events-for-recovery"></a>

## Passaggio 1: abilita il problema simulato e invia una seconda richiesta API
<a name="enable-simulated-issue-send-second-api-request"></a>

1. Accedi alla [console AWS Lambda](https://console.aws.amazon.com/lambda/).

1. Nel riquadro di navigazione, scegliere **Functions (Funzioni)**.

1. Cercare `serverlessrepo-fork-example` e selezionare `CheckoutFunction`.

1. Sul **fork-example-ecommerce- {{my-app}} - CheckoutFunction -{{ABCDEF}}...** **pagina, nella sezione **Variabili d'ambiente**, imposta la variabile **BUG\_ENABLED** su **true**, quindi scegli Salva.**

1. Copiare il JSON seguente in un file denominato `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. Per inviare una richiesta HTTPS al proprio endpoint API, passare il payload degli eventi di esempio come input eseguendo un comando `curl`, ad esempio:

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

   L'API restituisce la seguente risposta vuota, a indicare che l'esecuzione è riuscita:

   ```
   { }
   ```

## Fase 2: Verificare il danneggiamento simulato dei dati
<a name="verify-simulated-data-corruption"></a>

1. Accedi alla [console Amazon DynamoDB](https://console.aws.amazon.com/dynamodb/).

1. Nel riquadro di navigazione, selezionare **Tables (Tabelle)**.

1. Cercare `serverlessrepo-fork-example` e selezionare `CheckoutTable`.

1. Nella pagina dei dettagli della tabella, scegliere **Items (Voci)** e quindi scegliere la voce creata.

   Vengono visualizzati gli attributi archiviati, alcuni contrassegnati come **CORRUPTED\! (Danneggiati)**.

## Fase 3: Disattiva il problema simulato
<a name="disable-simulated-issue"></a>

1. Accedi alla [console AWS Lambda](https://console.aws.amazon.com/lambda/).

1. Nel riquadro di navigazione, scegliere **Functions (Funzioni)**.

1. Cercare `serverlessrepo-fork-example` e selezionare `CheckoutFunction`.

1. Sul **fork-example-ecommerce- - {{my-app}} CheckoutFunction - {{ABCDEF}}**... **pagina, nella sezione **Variabili d'ambiente**, imposta la variabile **BUG\_ENABLED** su **false** e poi scegli Salva.**

## Passaggio 4: abilita il replay per risolvere il problema
<a name="enable-replay-recover-from-simulated-issue"></a>

1. Nella AWS Lambda console, nel pannello di navigazione, scegli **Funzioni**.

1. Cercare `serverlessrepo-fork-example` e selezionare `ReplayFunction`.

1. Espandere la sezione **Designer**, scegliere il riquadro **SQS** e quindi, nella sezione **SQS**, scegliere **Enabled (Abilitato)**.
**Nota**  
L'abilitazione del trigger dell'origine evento Amazon SQS richiede circa un minuto.

1. Seleziona **Salva**.

1. Per visualizzare gli attributi ripristinati, tornare alla console Amazon DynamoDB.

1. Per disabilitare la riproduzione, torna alla AWS Lambda console e disabilita il trigger sorgente di eventi Amazon SQS per. `ReplayFunction`