Creazione di funzioni Lambda con TypeScript - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di funzioni Lambda con TypeScript

È possibile utilizzare il runtime Node.js per eseguire il TypeScript codice. AWS Lambda Poiché Node.js non esegue il TypeScript codice in modo nativo, è necessario prima traspilare il TypeScript codice in. JavaScript Quindi, usa i JavaScript file per distribuire il codice della funzione in Lambda. Il codice viene eseguito in un ambiente che include AWS SDK for JavaScript, con le credenziali di un ruolo AWS Identity and Access Management (IAM) che gestisci. Per ulteriori informazioni sulle SDK versioni incluse nei runtime di Node.js, consultate. Versioni incluse in Runtime SDK

Lambda supporta i seguenti runtime di Node.js.

Node.js
Nome Identificatore Sistema operativo Data di ritiro Blocco creazione funzioni Blocco aggiornamento funzioni

Node.js 20

nodejs20.x

Amazon Linux 2023

Node.js 18

nodejs18.x

Amazon Linux 2

Configurazione di un ambiente di TypeScript sviluppo

Utilizzate un ambiente di sviluppo integrato locale (IDE), un editor di testo o AWS Cloud9per scrivere il codice TypeScript della funzione. Non puoi creare TypeScript codice sulla console Lambda.

Per trascrivere il TypeScript codice, configura un compilatore come esbuild o il TypeScript compiler (tsc) di Microsoft, fornito in bundle con la distribuzione. TypeScript Puoi usare il AWS Serverless Application Model (AWS SAM) o il per semplificare la creazione e la distribuzione del codice AWS Cloud Development Kit (AWS CDK). TypeScript Entrambi gli strumenti utilizzano esbuild per trascrivere il codice TypeScript in. JavaScript

Durante l'utilizzo di esbuild, considera quanto segue:

Esempio 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"] }