Ceci est le guide du AWS CDK développeur de la version 2. L'ancien CDK v1 est entré en maintenance le 1er juin 2022 et a pris fin le 1er juin 2023.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Cette rubrique décrit ce dont vous avez besoin pour utiliser le AWS SAM CLI avec AWS CDK des applications, et il fournit des instructions pour créer et tester localement une AWS CDK application simple.
Prérequis
Pour effectuer un test en local, vous devez installer le AWS SAM CLI. voir Installer le AWS SAM CLIpour les instructions d'installation.
Création et test local d'une application AWS CDK
Pour tester localement une AWS CDK application à l'aide du AWS SAM CLI, vous devez disposer d'une AWS CDK application contenant une fonction Lambda. Suivez les étapes ci-dessous pour créer une AWS CDK application de base avec une fonction Lambda. Pour plus d'informations, consultez la section Création d'une application sans serveur à l'aide de AWS CDK du Guide du développeur AWS Cloud Development Kit (AWS CDK) .
Étape 1 : Création d'une application AWS CDK
Pour ce didacticiel, initialisez une AWS CDK application qui utilise TypeScript.
Commande à exécuter :
$
mkdir cdk-sam-example
$
cd cdk-sam-example
$
cdk init app --language typescript
Étape 2 : Ajouter une fonction Lambda à votre application
Remplacez le code dans lib/cdk-sam-example-stack.ts
par ce qui suit :
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'),
});
}
}
Étape 3 : Ajouter votre code de fonction Lambda
Créez un répertoire nommé my_function
. Dans ce répertoire, créez un fichier nommé app.py
.
Commande à exécuter :
$
mkdir my_function
$
cd my_function
$
touch app.py
Ajoutez le code suivant à app.py
:
def lambda_handler(event, context):
return "Hello from SAM and the CDK!"
Étape 4 :Tester votre fonction Lambda
Vous pouvez utiliser le AWS SAM CLI pour appeler localement une fonction Lambda que vous définissez dans une AWS CDK application. Pour ce faire, vous avez besoin de l'identifiant de construction de la fonction et du chemin d'accès à votre AWS CloudFormation modèle synthétisé.
Exécutez la commande suivante pour revenir au lib
répertoire :
$
cd ..
Commande à exécuter :
$
cdk synth --no-staging
$
sam local invoke
MyFunction
--no-event -t./cdk.out/CdkSamExampleStack.template.json
Exemple de sortie :
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