Creación de funciones de Lambda con TypeScript
Se puede utilizar el tiempo de ejecución de Node.js para ejecutar código TypeScript en AWS Lambda. Dado que Node.js no ejecuta código de TypeScript de manera nativa, antes se debe transpilar el código de TypeScript a JavaScript. A continuación, utilice los archivos JavaScript para implementar el código de la función en Lambda. El código se ejecuta en un entorno que incluye AWS SDK para JavaScript, con credenciales de un rol de AWS Identity and Access Management (IAM) que usted administra. Para obtener más información sobre las versiones del SDK incluidas en los tiempos de ejecución de Node.js, consulte Versiones del SDK incluidas en el tiempo de ejecución.
Lambda admite los siguientes tiempos de ejecución de Node.js.
Node.js | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nombre | Identificador | Sistema operativo | Fecha de baja | Bloqueo de la función Crear | Bloqueo de la función Actualizar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 20 |
|
Amazon Linux 2023 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 18 |
|
Amazon Linux 2 |
Temas
- Configuración de un entorno de desarrollo de TypeScript
- Definir el controlador de funciones de Lambda en Typescript
- Implemente TypeScript código transpilado en Lambda con archivos de archivos.zip
- Implementar código de TypeScript transpilado en Lambda con imágenes de contenedor
- Uso del objeto de contexto Lambda para recuperar la información de la función de TypeScript
- Registro y supervisión de las funciones de Lambda de TypeScript
- Seguimiento del código de TypeScript en AWS Lambda
Configuración de un entorno de desarrollo de TypeScript
Utilice un entorno de desarrollo integrado (IDE) local, un editor de texto o AWS Cloud9 para escribir el código de la función de TypeScript. No se puede crear código de TypeScript en la consola de Lambda.
Para transpilar el código de TypeScript, configure un compilador, como esbuildtsc
), que se incluye con la distribución de TypeScript
Al utilizar esbuild, tenga en cuenta lo siguiente:
-
Existen varias advertencias en relación con TypeScript
. -
La configuración de transpilación de TypeScript se debe establecer de modo que coincida con el tiempo de ejecución de Node.js que se piense utilizar. Para obtener más información, consulte Target
(Destino) en la documentación de esbuild. Para ver un ejemplo de archivo tsconfig.json que muestra cómo orientarse a una versión específica de Node.js compatible con Lambda, consulte el repositorio de GitHub de TypeScript . -
esbuild no realiza comprobaciones de tipos. Para comprobar los tipos, utilice el compilador
tsc
. Ejecutetsc -noEmit
o agregue un parámetro"noEmit"
al archivo tsconfig.json, como se muestra en el siguiente ejemplo. Eso configuratsc
para que no emita archivos JavaScript. Después de comprobar los tipos, utilice esbuild para convertir los archivos de TypeScript a JavaScript.
ejemplo tsconfig.json
{ "compilerOptions": { "target": "es2020", "strict": true, "preserveConstEnums": true, "noEmit": true, "sourceMap": false, "module":"commonjs", "moduleResolution":"node", "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "isolatedModules": true, }, "exclude": ["node_modules", "**/*.test.ts"] }