Paso 4: Simular un problema y reproducir eventos para la recuperación - Amazon Simple Notification Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Paso 4: Simular un problema y reproducir eventos para la recuperación

Paso 1: Habilitar el problema simulado y enviar una segunda solicitud de la API

  1. Inicie sesión en la consola de AWS Lambda.

  2. En el panel de navegación, elija Functions (Funciones).

  3. Busque serverlessrepo-fork-example y elija CheckoutFunction.

  4. fork-example-ecommerceEn el CheckoutFunction archivo - my-app - - ABCDEF... página, en la sección Variables de entorno, defina la variable BUG_ENABLED en true y, a continuación, seleccione Guardar.

  5. Copie el siguiente código JSON a un archivo denominado 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. Para enviar una solicitud HTTPS a su punto de enlace de la API, pase la carga de evento de muestra como entrada mediante la ejecución de un comando curl, por ejemplo:

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

    La API devuelve la siguiente respuesta vacía, lo que indica que la ejecución es correcta:

    { }

Paso 2: Verificar el daño de datos simulados

  1. Inicie sesión en la consola de Amazon DynamoDB.

  2. En el panel de navegación, elija Tables (Tablas).

  3. Busque serverlessrepo-fork-example y elija CheckoutTable.

  4. En la página de detalles de tabla, elija Items (Elementos) y, a continuación, el elemento creado.

    Se muestran los atributos almacenados, algunos marcados como CORRUPTED! (Dañados).

Paso 3: Deshabilitar el problema simulado

  1. Inicie sesión en la consola de AWS Lambda.

  2. En el panel de navegación, elija Functions (Funciones).

  3. Busque serverlessrepo-fork-example y elija CheckoutFunction.

  4. En el archivo fork-example-ecommerce- my-app - - ABCDEF... CheckoutFunction página, en la sección Variables de entorno, defina la variable BUG_ENABLED en false y, a continuación, seleccione Guardar.

Paso 4: Habilitar la reproducción para la recuperación del problema

  1. En la consola de AWS Lambda, en el panel de navegación, seleccione Functions (Funciones).

  2. Busque serverlessrepo-fork-example y elija ReplayFunction.

  3. Expanda la sección Designer (Diseñador), elija el mosaico SQS y, a continuación, en la sección SQS, elija Enabled (Habilitado).

    nota

    El desencadenador de fuentes de eventos de Amazon SQS tarda aproximadamente un minuto en habilitarse.

  4. Seleccione Guardar.

  5. Para ver los atributos recuperados, vuelva a la consola de Amazon DynamoDB.

  6. Para desactivar la reproducción, vuelva a la consola de AWS Lambda y desactive el desencadenador de la fuente de eventos de Amazon SQS de ReplayFunction.