Elaborazione di eventi DynamoDB - AWS Serverless Application Model

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à.

Elaborazione di eventi DynamoDB

Con questa applicazione di esempio, puoi basarti su ciò che hai appreso nella panoramica e nella guida di avvio rapido e installi un'altra applicazione di esempio. Questa applicazione è costituita da una funzione Lambda richiamata da una fonte di eventi della tabella DynamoDB. La funzione Lambda è molto semplice: registra i dati trasmessi tramite il messaggio sorgente dell'evento.

Questo esercizio mostra come imitare i messaggi di origine degli eventi che vengono passati alle funzioni Lambda quando vengono richiamati.

Prima di iniziare

Verificare di aver completato le impostazioni richieste inInstallazione dell'interfaccia a riga di comando AWS SAM.

Fase 1: Inizializzazione dell'applicazione

In questa sezione, si scarica il pacchetto dell'applicazione, che consiste in unAWS SAM modello e un codice dell'applicazione.

Per inizializzare l'applicazione
  1. Eseguire il comando seguente al prompt dei comandi dell'interfaccia a riga di comando AWS SAM.

    sam init \ --location gh:aws-samples/cookiecutter-aws-sam-dynamodb-python \ --no-input

    Nota chegh: nel comando precedente viene esteso all' GitHub urlhttps://github.com/.

  2. Esaminare il contenuto della directory creata dal comando (dynamodb_event_reader/):

    • template.yaml— Definisce dueAWS risorse necessarie all'applicazione Read DynamoDB: una funzione Lambda e una tabella DynamoDB. Il modello definisce anche la mappatura tra le due risorse.

    • read_dynamodb_event/directory — Contiene il codice dell'applicazione DynamoDB.

Fase 2: verificare l'applicazione localmente

Per i test locali, usa laAWS SAM CLI per generare un evento DynamoDB di esempio e richiamare la funzione Lambda:

sam local generate-event dynamodb update | sam local invoke --event - ReadDynamoDBEvent

Ilgenerate-event comando crea un messaggio sorgente di eventi di test come i messaggi creati quando tutti i componenti vengono distribuiti nelAWS cloud. Questo messaggio di origine dell'evento viene reindirizzato alla funzione Lambda ReadDynamo dbEvent.

Verifica che i messaggi previsti vengano stampati sulla console, in base al codice sorgente contenutoapp.py.

Fase 3: impacchettare l'applicazione

Dopo aver testato l'applicazione localmente, si utilizza laAWS SAM CLI per creare un pacchetto di distribuzione, che viene utilizzato per distribuire l'applicazione nelAWS cloud.

Per creare un pacchetto di implementazione Lambda
  1. Creare un bucket S3 nella posizione in cui si desidera salvare il codice nel pacchetto. Se si desidera utilizzare un bucket S3 esistente, ignorare questo passaggio.

    aws s3 mb s3://bucketname
  2. Creazione del pacchetto di distribuzione eseguendo i comandipackage CLI riportati di seguito al prompt dei comandi.

    sam package \ --template-file template.yaml \ --output-template-file packaged.yaml \ --s3-bucket bucketname

    Specificate il nuovo file modello quando distribuite l'applicazione nel passaggio successivo.packaged.yaml

Fase 4: implementazione dell'applicazione

Ora che hai creato il pacchetto di distribuzione, lo usi per distribuire l'applicazione nelAWS cloud. Quindi testare l'applicazione.

Per distribuire l'applicazione serverless nelAWS cloud
  • NellaAWS SAM CLI, utilizzate il comandodeploy CLI per distribuire tutte le risorse definite nel modello.

    sam deploy \ --template-file packaged.yaml \ --stack-name sam-app \ --capabilities CAPABILITY_IAM \ --region us-east-1

    Nel comando, il--capabilities parametro consente diAWS CloudFormation creare un ruolo IAM.

    AWS CloudFormationcrea leAWS risorse definite nel modello. Puoi accedere ai nomi di queste risorse nellaAWS CloudFormation console.

Per testare l'applicazione serverless nelAWS cloud
  1. Aprire la console DynamoDB.

  2. Inserire un record nella tabella appena creata.

  3. Vai alla scheda Metriche della tabella e scegli Visualizza tutte le CloudWatch metriche. Nella CloudWatch console, scegli Registri per poter visualizzare l'output del registro.

Fasi successive

IlAWS SAM GitHub repository contiene ulteriori applicazioni di esempio da scaricare e sperimentare. Per accedere a questo repository, vedi applicazioni diAWS SAM esempio.