Verarbeiten von DynamoDB-Ereignissen - AWS Serverless Application Model

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verarbeiten von DynamoDB-Ereignissen

Mit dieser Beispielanwendung bauen Sie auf dem auf, was Sie in der Übersicht und im Schnellstarthandbuch gelernt haben, und installieren eine weitere Beispielanwendung. Diese Anwendung besteht aus einer Lambda-Funktion, die von einer DynamoDB-Tabellenereignisquelle aufgerufen wird. Die Lambda-Funktion ist sehr einfach – sie protokolliert Daten, die über die Ereignisquellennachricht übergeben wurden.

Diese Übung zeigt Ihnen, wie Sie Ereignisquellenmeldungen nachahmen, die an Lambda-Funktionen übergeben werden, wenn sie aufgerufen werden.

Bevor Sie beginnen

Stellen Sie sicher, dass Sie die erforderliche Einrichtung in der abgeschlossen habenInstallieren der AWS SAMCLI.

Schritt 1: Initialisieren der Anwendung

In diesem Abschnitt laden Sie das Anwendungspaket herunter, das aus einer -AWS SAMVorlage und einem Anwendungscode besteht.

So initialisieren Sie die Anwendung
  1. Führen Sie den folgenden Befehl an einer AWS SAMCLI Eingabeaufforderung aus.

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

    Beachten Sie, dass gh: im obigen Befehl auf die GitHub URL erweitert wirdhttps://github.com/.

  2. Überprüfen Sie den Inhalt des Verzeichnisses, das der Befehl erstellt hat (dynamodb_event_reader/):

    • template.yaml – Definiert zwei AWS Ressourcen, die die Anwendung „DynamoDB lesen“ benötigt: eine Lambda-Funktion und eine DynamoDB-Tabelle. Die Vorlage definiert auch die Zuweisung zwischen den beiden Ressourcen.

    • read_dynamodb_event/ Verzeichnis – Enthält den DynamoDB-Anwendungscode.

Schritt 2: Lokales Testen der Anwendung

Verwenden Sie für lokale Tests die , AWS SAMCLI um ein DynamoDB-Beispielereignis zu generieren und die Lambda-Funktion aufzurufen:

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

Der generate-event Befehl erstellt eine Testereignis-Quellnachricht wie die Nachrichten, die erstellt werden, wenn alle Komponenten in der AWS Cloud bereitgestellt werden. Diese Ereignisquellenmeldung wird an die Lambda-Funktion ReadDynamoDBEvent weitergeleitet.

Stellen Sie sicher, dass die erwarteten Nachrichten basierend auf dem Quellcode in in der Konsole gedruckt werdenapp.py.

Schritt 3: Verpacken der Anwendung

Nachdem Sie Ihre Anwendung lokal getestet haben, verwenden Sie die , AWS SAMCLI um ein Bereitstellungspaket zu erstellen, mit dem Sie die Anwendung in der AWS Cloud bereitstellen.

So erstellen Sie ein Lambda-Bereitstellungspaket
  1. Erstellen Sie einen S3-Bucket an dem Speicherort, an dem Sie den verpackten Code speichern möchten. Wenn Sie einen vorhandenen S3-Bucket verwenden möchten, überspringen Sie diesen Schritt.

    aws s3 mb s3://bucketname
  2. Erstellen Sie das Bereitstellungspaket, indem Sie den folgenden package CLI-Befehl an der Eingabeaufforderung ausführen.

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

    Sie geben die neue Vorlagendatei anpackaged.yaml, wenn Sie die Anwendung im nächsten Schritt bereitstellen.

Schritt 4: Bereitstellen der Anwendung

Nachdem Sie das Bereitstellungspaket erstellt haben, verwenden Sie es, um die Anwendung in der AWS Cloud bereitzustellen. Anschließend testen Sie die Anwendung.

So stellen Sie die Serverless-Anwendung in der AWS Cloud bereit
  • Verwenden Sie in der den deploy CLI-Befehl AWS SAMCLI, um alle Ressourcen bereitzustellen, die Sie in der Vorlage definiert haben.

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

    Im Befehl ermöglicht der --capabilities Parameter , eine IAM-Rolle AWS CloudFormation zu erstellen.

    AWS CloudFormation erstellt die AWS Ressourcen, die in der Vorlage definiert sind. Sie können auf die Namen dieser Ressourcen in der -AWS CloudFormationKonsole zugreifen.

So testen Sie die Serverless-Anwendung in der AWS Cloud
  1. Öffnen Sie die DynamoDB-Konsole.

  2. Fügen Sie einen Datensatz in die Tabelle ein, die Sie gerade erstellt haben.

  3. Gehen Sie zur Registerkarte Metriken der Tabelle und wählen Sie Alle CloudWatch Metriken anzeigen aus. Wählen Sie in der CloudWatch Konsole Protokolle aus, um die Protokollausgabe anzeigen zu können.

Nächste Schritte

Das AWS SAM GitHub Repository enthält zusätzliche Beispielanwendungen, mit denen Sie sie herunterladen und experimentieren können. Informationen zum Zugriff auf dieses Repository finden Sie AWS SAM unter Beispielanwendungen.