Introducción a AWS SAM y AWS CDK
En este tema se describe lo que se necesita para usar AWS SAM CLI con las aplicaciones AWS CDK y se proporcionan instrucciones para crear y probar localmente una aplicación AWS CDK sencilla.
Requisitos previos
Para usar AWS SAM CLI con AWS CDK, debe instalar el AWS CDK, y la AWS SAM CLI.
-
Para obtener más información sobre la instalación de la AWS CDK, consulta Introducción a AWS CDK en la Guía para desarrolladores de AWS Cloud Development Kit (AWS CDK).
-
Para obtener más información sobre la instalación de la AWS SAM CLI, consulta Instala la AWS SAM CLI.
Crear y probar localmente una aplicación AWS CDK
Para probar localmente una aplicación AWS CDK mediante la AWS SAM CLI, debes tener una aplicación AWS CDK que contenga una función de Lambda. Sigue los pasos siguientes para crear una aplicación AWS CDK básica con una función de Lambda. Para obtener más información, consulta Crear una aplicación sin servidor usando la AWS CDK en la Guía para desarrolladores de AWS Cloud Development Kit (AWS CDK).
nota
La CLI de AWS SAM es compatible con la versión AWS CDK v1 a partir de la versión 1.135.0 y la AWS CDK v2 a partir de la versión 2.0.0.
Paso 1: Crear una aplicación de AWS CDK
Para este tutorial, inicializa una aplicación AWS CDK que utilice TypeScript.
Comando a ejecutar:
Paso 2: Añadir una función de Lambda a la aplicación
Reemplaza el código en lib/cdk-sam-example-stack.ts
con lo siguiente:
Paso 3: Añadir el código de la función de Lambda
Cree un directorio llamado my_function
. En dicho directorio, cree un archivo llamado app.py
.
Comando a ejecutar:
mkdir my_function cd my_function touch app.py
Añada el siguiente código a app.py
:
def lambda_handler(event, context): return "Hello from SAM and the CDK!"
Paso 4: comprobación de la función de Lambda
Puede utilizar la CLI de AWS SAM para invocar localmente una función de Lambda que defina en una aplicación AWS CDK. Para hacerlo, necesitarás el identificador de constructo de la función que desee invocar y la ruta a la plantilla de AWS CloudFormation sintetizada.
Comando a ejecutar:
cdk synth --no-staging
sam local invoke
MyFunction
--no-event -t./cdk.out/CdkSamExampleStack.template.json
Ejemplo del resultado:
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
Para obtener más información sobre las opciones disponibles para probar aplicaciones AWS CDK mediante la CLI AWS SAM, consulta Pruebas de AWS CDK aplicaciones a nivel local AWS SAM.