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
-
Inicie sesión en la consola de AWS Lambda
. -
En el panel de navegación, elija Functions (Funciones).
-
Busque
serverlessrepo-fork-example
y elijaCheckoutFunction
. -
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. -
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 }] }
-
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
-
Inicie sesión en la consola de Amazon DynamoDB
. -
En el panel de navegación, elija Tables (Tablas).
-
Busque
serverlessrepo-fork-example
y elijaCheckoutTable
. -
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
-
Inicie sesión en la consola de AWS Lambda
. -
En el panel de navegación, elija Functions (Funciones).
-
Busque
serverlessrepo-fork-example
y elijaCheckoutFunction
. -
En el archivo fork-example-ecommerce-
página, en la sección Variables de entorno, defina la variable BUG_ENABLED en false y, a continuación, seleccione Guardar.my-app - - ABCDEF
... CheckoutFunction
Paso 4: Habilitar la reproducción para la recuperación del problema
-
En la consola de AWS Lambda, en el panel de navegación, seleccione Functions (Funciones).
-
Busque
serverlessrepo-fork-example
y elijaReplayFunction
. -
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.
-
Seleccione Guardar.
-
Para ver los atributos recuperados, vuelva a la consola de Amazon DynamoDB.
-
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
.