Fase 4: simulazione di un problema e riproduzione di eventi per il ripristino - Amazon Simple Notification Service

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 di eventi per il ripristino

Fase 1: abilitazione del problema simulato e invio di una seconda richiesta API

  1. Accedi alla console AWS Lambda.

  2. Nel riquadro di navigazione, scegliere Functions (Funzioni).

  3. Cercare serverlessrepo-fork-example e selezionare CheckoutFunction.

  4. fork-example-ecommerceSu - my-app - - ABCDEF... CheckoutFunction pagina, nella sezione Variabili d'ambiente, imposta la variabile BUG_ENABLED su true e poi scegli Salva.

  5. 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, "name": "Marcia Oliveira", "email": "marcia.oliveira@example.com" }, "payment": { "id": 3311, "amount": 75.00, "currency": "usd", "method": "credit", "card-network": "mastercard", "card-number": "1234 5678 9012 3456", "card-expiry": "12/2025", "card-owner": "Marcia Oliveira", "card-cvv": "321" }, "shipping": { "id": 9900, "time": 20, "unit": "days", "method": "plane" }, "items": [{ "id": 9993, "product": 3120, "name": "Hockey Stick", "quantity": 1, "price": 75.00, "subtotal": 75.00 }] }
  6. 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: verifica del danneggiamento simulato dei dati

  1. Accedi alla console Amazon DynamoDB.

  2. Nel riquadro di navigazione, selezionare Tables (Tabelle).

  3. Cercare serverlessrepo-fork-example e selezionare CheckoutTable.

  4. 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: disabilitazione del problema simulato

  1. Accedi alla console AWS Lambda.

  2. Nel riquadro di navigazione, scegliere Functions (Funzioni).

  3. Cercare serverlessrepo-fork-example e selezionare CheckoutFunction.

  4. Su fork-example-ecommerce- my-app - - ABCDEF... CheckoutFunction pagina, nella sezione Variabili d'ambiente, imposta la variabile BUG_ENABLED su false e poi scegli Salva.

Fase 4: abilitazione della riproduzione per il ripristino dal problema

  1. Nel riquadro di navigazione della console AWS Lambda, scegliere Functions (Funzioni).

  2. Cercare serverlessrepo-fork-example e selezionare ReplayFunction.

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

  4. Seleziona Salva.

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

  6. Per disabilitare la riproduzione, tornare alla console AWS Lambda e disabilitare il trigger dell'origine evento Amazon SQS per ReplayFunction.