Criação de um sistema de processamento de pedidos com funções duráveis do Lambda - AWS Lambda

Criação de um sistema de processamento de pedidos com funções duráveis do Lambda

nota

NECESSIDADE: adicionar diagrama de arquitetura mostrando o API Gateway, o fluxo de trabalho da função durável e os serviços de suporte (DynamoDB, EventBridge)

Pré-requisitos

  • AWS CLI instalado e configurado

  • NECESSIDADE: requisitos específicos de funções duráveis

Crie os arquivos de código-fonte

Criar os seguintes arquivos em seu diretório do projeto:

  • lambda_function.py: o código da função

  • requirements.txt: manifesto de dependências

Código da função

# 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

Arquivo de requisitos

# NEED: List of required packages

Implante o aplicativo

Crie uma tabela do DynamoDB para pedidos

  1. Abra o console do DynamoDB em https://console.aws.amazon.com/dynamodb/.

  2. Escolha Create table

  3. Em Nome da tabela, insira Orders

  4. Em Chave de partição, insira orderId

  5. Deixe as outras configurações como o padrão

  6. Escolha Create table

Criar a função do Lambda

  1. Abra o console do Lambda em https://console.aws.amazon.com/lambda/

  2. Escolha Create function (Criar função).

  3. Selecione Criar do zero

  4. Em Nome da função, inserir ProcessOrder

  5. Em Runtime, escolha seu runtime preferido

  6. NECESSIDADE: adicionar configuração específica de funções duráveis

  7. Escolha Create function (Criar função).

Crie o endpoint do API Gateway

  1. Abra o console do API Gateway em https://console.aws.amazon.com/apigateway/

  2. Selecione Criar API

  3. Selecione API de HTTP

  4. Escolha Criar

  5. Adicione uma integração com a sua função do Lambda

  6. Configure rotas para o processamento de pedidos

  7. Implantar a API

Teste o aplicativo

Envie um pedido de teste:

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

NECESSIDADE: adicionar instruções de monitoramento específicas para funções duráveis

Próximas etapas

Adicione a lógica de negócios

Implemente o gerenciamento de inventário:

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

Adicione os cálculos de preços:

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

Aprimore o tratamento de erros

Adicione lógica de compensação:

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

Trate os cancelamentos de pedidos:

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

Integre os sistemas externos

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

Aprimore o monitoramento

  • Crie painéis do CloudWatch

  • Configure métricas para tempos de processamento de pedidos

  • Configure alertas para pedidos atrasados