Schritt 4: So simulieren Sie ein Problem und wiederholen Ereignisse zur Wiederherstellung - Amazon Simple Notification Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schritt 4: So simulieren Sie ein Problem und wiederholen Ereignisse zur Wiederherstellung

Schritt 1: So aktivieren Sie das simulierte Problem und senden eine zweite API-Anforderung

  1. Melden Sie sich an der AWS Lambda-Konsole an.

  2. Wählen Sie im Navigationsbereich Functions (Funktionen) aus.

  3. Suchen Sie nach serverlessrepo-fork-exampleund wählen Sie CheckoutFunction aus.

  4. Setzen Sie auf der Seite fork-example-ecommerce-my-app -CheckoutFunction-ABCDEF ... im Abschnitt Umgebungsvariablen die Variable BUG_ENABLED auf true und wählen Sie dann Speichern aus.

  5. Kopieren Sie den folgenden JSON-Code in eine Datei mit dem Namen 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. Um eine HTTPS-Anfrage an Ihren API-Endpunkt zu senden, übergeben Sie die Nutzlast des Beispielereignisses als Eingabe, indem Sie einen curl-Befehl ausführen, zum Beispiel:

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

    Die API gibt die folgende leere Antwort unter Angabe einer erfolgreichen Ausführung zurück:

    { }

Schritt 2: So verifizieren Sie eine simulierte Datenbeschädigung

  1. Melden Sie sich bei der Amazon DynamoDB-Konsole an.

  2. Wählen Sie im Navigationsbereich Tables (Tabellen) aus.

  3. Suchen Sie nach serverlessrepo-fork-example und wählen Sie CheckoutTable aus.

  4. Wählen Sie auf der Tabellendetailseite Items (Elemente) und dann das erstellte Element aus.

    Die gespeicherten Attribute werden angezeigt, einige markiert als CORRUPTED (BESCHÄDIGT!)

Schritt 3: So deaktivieren Sie das simulierte Problem

  1. Melden Sie sich an der AWS Lambda-Konsole an.

  2. Wählen Sie im Navigationsbereich Functions (Funktionen) aus.

  3. Suchen Sie nach serverlessrepo-fork-exampleund wählen Sie CheckoutFunction aus.

  4. Legen Sie auf der Seite fork-example-ecommerce-my-app -CheckoutFunction-ABCDEF ... im Abschnitt Umgebungsvariablen die Variable BUG_ENABLED auf false fest und wählen Sie dann Speichern aus.

Schritt 4: So aktivieren Sie die Wiederholung zur Wiederherstellung nach dem Problem

  1. Wählen Sie in der AWS Lambda-Konsole im Navigationsbereich Functions (Funktionen).

  2. Suchen Sie nach serverlessrepo-fork-example und wählen Sie ReplayFunction aus.

  3. Erweitern Sie den Abschnitt Designer (Designer), wählen Sie das Feld SQS (SQS) und dann im Abschnitt SQS (SQS) Enabled (Aktiviert) aus.

    Anmerkung

    Es dauert ca. 1 Minute, bis der Amazon SQS-Ereignisquellenauslöser aktiviert wird.

  4. Wählen Sie Speichern.

  5. Zur Anzeige der wiederhergestellten Attribute kehren Sie zur Amazon–DynamoDB-Konsole zurück.

  6. Kehren Sie zur Deaktivierung der Wiederholung zur AWS Lambda-Konsole zurück und deaktivieren Sie den Amazon SQS-Ereignisquellenauslöser für ReplayFunction.