Étape 4 : Pour simuler un problème et relire les événements en vue d'une reprise - Amazon Simple Notification Service

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 : Pour simuler un problème et relire les événements en vue d'une reprise

Étape 1 : Pour activer le problème simulé et envoyer une deuxième demande d'API

  1. Connectez-vous à la AWS Lambdaconsole.

  2. Dans le panneau de navigation, choisissez Fonctions.

  3. Recherchez serverlessrepo-fork-example et choisissez CheckoutFunction.

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

  5. 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, "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. 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 : Pour vérifier la simulation de corruption des données

  1. Connectez-vous à la console Amazon DynamoDB.

  2. Dans le panneau de navigation, choisissez Tables.

  3. Recherchez serverlessrepo-fork-example et choisissez CheckoutTable.

  4. 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 : Pour désactiver la simulation du problème

  1. Connectez-vous à la AWS Lambdaconsole.

  2. Dans le panneau de navigation, choisissez Fonctions.

  3. Recherchez serverlessrepo-fork-example et choisissez CheckoutFunction.

  4. 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 : Pour activer la relecture en vue d'une reprise après un problème

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

  2. Recherchez serverlessrepo-fork-example et choisissez ReplayFunction.

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

  4. Choisissez Enregistrer.

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

  6. Pour désactiver la relecture, revenez à la console AWS Lambda et désactivez le déclencheur source d'événements Amazon SQS pour ReplayFunction.