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.
Lokales Testen AWS CDK von Anwendungen mit AWS SAM
Sie können den verwenden AWS SAMCLI, um Ihre AWS CDK Anwendungen lokal zu testen, indem Sie die folgenden Befehle im Projektstammverzeichnis Ihrer AWS CDK Anwendung ausführen:
Bevor Sie einen der sam local Befehle mit einer AWS CDK Anwendung ausführen, müssen Sie ihn ausführencdk synth
.
Bei der Ausführung benötigen sam local invoke Sie den Konstrukt-Identifier der Funktion, den Sie aufrufen möchten, und den Pfad zu Ihrer synthetisierten Vorlage AWS CloudFormation . Wenn Ihre Anwendung verschachtelte Stacks verwendet, benötigen Sie zur Lösung von Namenskonflikten auch den Stacknamen, in dem die Funktion definiert ist.
Verwendung:
# Invoke the function FUNCTION_IDENTIFIER declared in the stack STACK_NAME sam local invoke [OPTIONS] [STACK_NAME/FUNCTION_IDENTIFIER] # Start all APIs declared in the AWS CDK application sam local start-api -t ./cdk.out/CdkSamExampleStack.template.json [OPTIONS] # Start a local endpoint that emulates AWS Lambda sam local start-lambda -t ./cdk.out/CdkSamExampleStack.template.json [OPTIONS]
Beispiel
Betrachten Sie Stacks und Funktionen, die mit dem folgenden Beispiel deklariert wurden:
app = new HelloCdkStack(app, "HelloCdkStack", ... ) class HelloCdkStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { ... new lambda.Function(this, 'MyFunction', { ... }); new HelloCdkNestedStack(this, 'HelloNestedStack' ,{ ... }); } class HelloCdkNestedStack extends cdk.NestedStack { constructor(scope: Construct, id: string, props?: cdk.NestedStackProps) { ... new lambda.Function(this, 'MyFunction', { ... }); new lambda.Function(this, 'MyNestedFunction', { ... }); }
Die folgenden Befehle rufen lokal die im obigen Beispiel definierten Lambda-Funktionen auf:
# Invoke MyFunction from the HelloCdkStack sam local invoke -t
./cdk.out/HelloCdkStack.template.json
MyFunction
# Invoke MyNestedFunction from the HelloCdkNestedStack sam local invoke -t
./cdk.out/HelloCdkStack.template.json
MyNestedFunction
# Invoke MyFunction from the HelloCdkNestedStack sam local invoke -t
./cdk.out/HelloCdkStack.template.json
HelloNestedStack/MyFunction