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.
Création d'un système de traitement des commandes avec des fonctions Lambda Durable
Note
BESOIN : Ajouter un schéma d'architecture illustrant API Gateway, le flux de travail Durable Function et les services de support (DynamoDB,) EventBridge
Conditions préalables
AWS CLI installé et configuré
BESOIN : Exigences spécifiques relatives aux fonctions durables
Création des fichiers de code source
Créez les fichiers suivants dans le répertoire de votre projet :
lambda_function.py- le code de fonctionrequirements.txt- manifeste des dépendances
Code de fonction
# 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
Fichier Requirements
# NEED: List of required packages
Déployer l'application
Création d'une table DynamoDB pour les commandes
Ouvrez la console DynamoDB à l'adresse https://console.aws.amazon.com/dynamodb/
Choisissez Create table
Dans le champ Nom de la table, entrez
OrdersPour Clé de partition, entrez
orderIdConserver les autres paramètres par défaut
Choisissez Create table
Création de la fonction Lambda
Ouvrez la console Lambda à l'adresse https://console.aws.amazon.com/lambda/
Choisissez Créer une fonction.
Sélectionnez l'auteur à partir de zéro
Sous Nom de la fonction, saisissez
ProcessOrder.Pour Runtime, choisissez votre environnement d'exécution préféré
BESOIN : Ajouter une configuration spécifique à Durable Functions
Choisissez Créer une fonction.
Création du point de terminaison API Gateway
Ouvrez la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway/
Choisissez Create API
Sélectionnez l'API HTTP
Choisissez Build
Ajoutez une intégration avec votre fonction Lambda
Configuration des itinéraires pour le traitement des commandes
Déploiement de l’API
Vérification de l'application
Soumettre une commande d'essai :
{ "orderId": "12345", "items": [ { "productId": "ABC123", "quantity": 1 } ] }
BESOIN : Ajouter des instructions de surveillance spécifiques pour les fonctions durables
Étapes suivantes
Ajouter une logique métier
Mettre en œuvre la gestion des stocks :
async def check_inventory(order): # Add inventory check logic pass
Ajoutez les calculs de prix :
async def calculate_total(order): # Add pricing logic pass
Améliorez la gestion des erreurs
Ajoutez une logique de compensation :
async def reverse_payment(order): # Add payment reversal logic pass
Gérer les annulations de commandes :
async def cancel_order(order): # Add cancellation logic pass
Intégrer des systèmes externes
async def notify_shipping_provider(order): # Add shipping integration pass async def send_customer_notification(order): # Add notification logic pass
Améliorez la surveillance
Création de CloudWatch tableaux de bord
Configurer des métriques pour les délais de traitement des commandes
Configuration des alertes pour les commandes retardées