Creación de un sistema de procesamiento de pedidos con funciones duraderas de Lambda
nota
NECESIDAD: Añadir un diagrama de arquitectura que muestre la API Gateway, el flujo de trabajo de funciones duraderas y los servicios de soporte (DynamoDB, EventBridge).
Requisitos previos
AWS CLI instalado y configurado
NECESIDAD: Requisitos específicos de funciones duraderas.
Creación de los archivos de código fuente
Cree los siguientes archivos en el directorio del proyecto:
lambda_function.py: código de funciónrequirements.txt: manifiesto de dependencias
Código de la función
# NEED: Verify correct imports import boto3 import json def lambda_handler(event, context): # NEED: Verify DurableContext syntax durable = context.durable try: # Validate and store order order = await durable.step('validate', async () => { return validate_order(event['order']) }) # Process payment # NEED: Verify wait syntax await durable.wait(/* wait configuration */) # Additional steps # NEED: Complete implementation except Exception as e: # NEED: Error handling patterns raise e def validate_order(order_data): # NEED: Implementation pass
Archivo de requisitos
# NEED: List of required packages
Implementar la aplicación
Creación de una tabla de pedidos de DynamoDB
Abra la consola de DynamoDB desde ttps://console.aws.amazon.com/dynamodb/
. Elija Create table (Crear tabla).
En Nombre de la tabla, introduzca
Orders.En Clave de partición, introduzca
orderId.Deje el resto de los ajustes según los valores predeterminados.
Elija Create table (Crear tabla).
Crear la función Lambda
Abra la consola de Lambda en https://console.aws.amazon.com/lambda/
. Elija Create function (Crear función)
Seleccione Crear desde cero.
En Nombre de la función, ingrese
ProcessOrder.En Tiempo de ejecución, elija el tiempo de ejecución que prefiera.
NECESIDAD: Añadir una configuración específica para funciones duraderas.
Elija Create function (Crear función)
Creación del punto de conexión de API Gateway
Abra la consola de API Gateway en https://console.aws.amazon.com/apigateway/
. Seleccione Crear API.
Seleccione HTTP API.
Seleccione Compilar.
Añada una integración con su función de Lambda.
Configure rutas para el procesamiento de pedidos.
Implemente la API.
Pruebe la aplicación.
Envíe un pedido de prueba:
{ "orderId": "12345", "items": [ { "productId": "ABC123", "quantity": 1 } ] }
NECESIDAD: Añadir instrucciones de supervisión específicas para las funciones duraderas.
Siguientes pasos
Agregado de lógica empresarial
Implemente la gestión de inventario:
async def check_inventory(order): # Add inventory check logic pass
Añada cálculos de precios:
async def calculate_total(order): # Add pricing logic pass
Mejora de la gestión de errores
Añada lógica de compensación:
async def reverse_payment(order): # Add payment reversal logic pass
Gestione cancelaciones de pedidos:
async def cancel_order(order): # Add cancellation logic pass
Integración de sistemas externos
async def notify_shipping_provider(order): # Add shipping integration pass async def send_customer_notification(order): # Add notification logic pass
Supervisión mejorada
Cree paneles de CloudWatch.
Configure métricas para los tiempos de procesamiento de los pedidos.
Configure alertas para pedidos retrasados.