Erste Schritte mit lokalen Tests - AWS Cloud Development Kit (AWS CDK) v2

Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.

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.

Erste Schritte mit lokalen Tests

In diesem Thema wird beschrieben, was Sie für die Verwendung der AWS SAM-CLI mit AWS CDK-Anwendungen benötigen, und es enthält Anweisungen zum Erstellen und lokalen Testen einer einfachen AWS CDK-Anwendung.

Voraussetzungen

Um lokal zu testen, müssen Sie die AWS SAM-CLI installieren. Installationsanweisungen finden Sie unter AWS SAM-CLI installieren.

Eine AWS CDK-Anwendung erstellen und lokal testen

Um eine AWS CDK-Anwendung mit der AWS SAM-CLI lokal zu testen, benötigen Sie eine AWS CDK-Anwendung, die eine Lambda-Funktion enthält. Gehen Sie wie folgt vor, um eine grundlegende AWS CDK-Anwendung mit einer Lambda-Funktion zu erstellen. Weitere Informationen finden Sie unter Creating a serverless application using the AWS CDK im AWS Cloud Development Kit (AWS CDK) Developer Guide.

Schritt 1: Erstellen Sie eine CDK-Anwendung AWS

Initialisieren Sie für dieses Tutorial eine AWS CDK-Anwendung, die verwendet. TypeScript

Befehl zum Ausführen:

$ mkdir cdk-sam-example $ cd cdk-sam-example $ cdk init app --language typescript
Schritt 2: Fügen Sie Ihrer Anwendung eine Lambda-Funktion hinzu

Ersetzen Sie den Code lib/cdk-sam-example-stack.ts durch folgenden Code:

import { Stack, StackProps } from 'aws-cdk-lib'; import { Construct } from 'constructs'; import * as lambda from 'aws-cdk-lib/aws-lambda'; export class CdkSamExampleStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); new lambda.Function(this, 'MyFunction', { runtime: lambda.Runtime.PYTHON_3_12, handler: 'app.lambda_handler', code: lambda.Code.fromAsset('./my_function'), }); } }
Schritt 3: Fügen Sie Ihren Lambda-Funktionscode hinzu

Erstellen Sie ein Verzeichnis mit dem Namen my_function. Erstellen Sie in diesem Verzeichnis eine Datei namens app.py.

Befehl zum Ausführen:

macOS / Linux
$ mkdir my_function $ cd my_function $ touch app.py
Windows
$ mkdir my_function $ cd my_function $ type nul > app.py
PowerShell
$ mkdir my_function $ cd my_function $ New-Item -Path "app.py”

Fügen Sie folgenden Code zu hinz app.py:

def lambda_handler(event, context): return "Hello from SAM and the CDK!"
Schritt 4: Testen Sie Ihre Lambda-Funktion

Sie können die AWS SAM-CLI verwenden, um lokal eine Lambda-Funktion aufzurufen, die Sie in einer AWS CDK-Anwendung definieren. Dazu benötigen Sie den Konstrukt-Identifier der Funktion und den Pfad zu Ihrer synthetisierten Vorlage. AWS CloudFormation

Führen Sie den folgenden Befehl aus, um zum lib Verzeichnis zurückzukehren:

$ cd ..

Befehl zum Ausführen:

$ cdk synth --no-staging
$ sam local invoke MyFunction --no-event -t ./cdk.out/CdkSamExampleStack.template.json

Beispielausgabe:

Invoking app.lambda_handler (python3.9)

START RequestId: 5434c093-7182-4012-9b06-635011cac4f2 Version: $LATEST
"Hello from SAM and the CDK!"
END RequestId: 5434c093-7182-4012-9b06-635011cac4f2
REPORT RequestId: 5434c093-7182-4012-9b06-635011cac4f2	Init Duration: 0.32 ms	Duration: 177.47 ms	Billed Duration: 178 ms	Memory Size: 128 MB	Max Memory Used: 128 MB