Creazione di un sistema di elaborazione degli ordini con Lambda Durable Functions - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un sistema di elaborazione degli ordini con Lambda Durable Functions

Nota

ESIGENZA: Aggiungi un diagramma di architettura che mostri API Gateway, il flusso di lavoro Durable Function e i servizi di supporto (DynamoDB,) EventBridge

Prerequisiti

  • AWS CLI installato e configurato

  • ESIGENZA: Requisiti specifici per le funzioni durevoli

Creare i file del codice sorgente

Crea i seguenti file nella directory del tuo progetto:

  • lambda_function.py- il codice della funzione

  • requirements.txt- manifesto delle dipendenze

Codice della funzione

# 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

File di requisiti

# NEED: List of required packages

Distribuire l'app

Creare una tabella DynamoDB per gli ordini

  1. Apri la console DynamoDB all'indirizzo https://console.aws.amazon.com/dynamodb/

  2. Scegli Crea tabella

  3. Per Nome tabella, inserisci Orders

  4. Per la chiave di partizione, immettere orderId

  5. Lascia le altre impostazioni come predefinite

  6. Scegli Crea tabella

Creazione della funzione Lambda

  1. Apri la console Lambda all'indirizzo https://console.aws.amazon.com/lambda/

  2. Selezionare Create function (Crea funzione).

  3. Seleziona l'autore da zero

  4. Nel campo Nome funzione, inserisci ProcessOrder.

  5. Per Runtime, scegli il tuo runtime preferito

  6. NECESSITÀ: Aggiungi una configurazione specifica per Durable Functions

  7. Selezionare Create function (Crea funzione).

Crea l'endpoint API Gateway

  1. Apri la console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway/

  2. Scegli Crea API

  3. Seleziona HTTP API

  4. Scegli Build

  5. Aggiungi un'integrazione con la tua funzione Lambda

  6. Configura i percorsi per l'elaborazione degli ordini

  7. Distribuzione dell'API

Eseguire il test dell'app

Invia un ordine di prova:

{ "orderId": "12345", "items": [ { "productId": "ABC123", "quantity": 1 } ] }

NECESSITÀ: Aggiungi istruzioni di monitoraggio specifiche per Durable Functions

Fasi successive

Aggiungi business Logic

Implementa la gestione dell'inventario:

async def check_inventory(order): # Add inventory check logic pass

Aggiungi calcoli dei prezzi:

async def calculate_total(order): # Add pricing logic pass

Migliora la gestione degli errori

Aggiungi logica di compensazione:

async def reverse_payment(order): # Add payment reversal logic pass

Gestisci gli annullamenti degli ordini:

async def cancel_order(order): # Add cancellation logic pass

Integrazione di sistemi esterni

async def notify_shipping_provider(order): # Add shipping integration pass async def send_customer_notification(order): # Add notification logic pass

Migliora il monitoraggio

  • Crea CloudWatch dashboard

  • Imposta le metriche per i tempi di elaborazione degli ordini

  • Configura gli avvisi per gli ordini in ritardo