View a markdown version of this page

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 Node.js runtime per eseguire il TypeScript codice in AWS Lambda. Poiché Node.js non esegue il TypeScript codice in modo nativo, devi prima trasporre il TypeScript codice in. JavaScript Quindi, usa JavaScript i file per distribuire il codice della funzione su Lambda. Il codice viene eseguito in un ambiente che include l' AWS SDK per JavaScript, con le credenziali di un ruolo AWS Identity and Access Management (IAM) che gestisci. Per saperne di più sulle versioni SDK incluse nei Node.js runtime, consulta. Runtime-included Versioni SDK

Per informazioni sulle TypeScript funzioni di tracciamento con, vedere. TypeScript Codice di tracciamento in AWS Lambda

Lambda supporta i seguenti Node.js runtime.

Nome Identificatore Sistema operativo Data di ritiro Blocco creazione funzioni Blocco aggiornamento funzioni

Node.js 24

nodejs24.x

Amazon Linux 2023

30 aprile 2028

1 giugno 2028

1 luglio 2028

Node.js 22

nodejs22.x

Amazon Linux 2023

30 aprile 2027

1 giugno 2027

1 luglio 2027

Impostazione di un TypeScript ambiente di sviluppo

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

Puoi usare esbuild o il TypeScript compiler (tsc) di Microsoft per trascrivere il tuo codice in. TypeScript JavaScript AWS Serverless Application Model (AWS SAM) e AWS Cloud Development Kit (AWS CDK) usano entrambi esbuild.

Durante l'utilizzo di esbuild, considera quanto segue:

  • Ci sono diversi avvertimenti. TypeScript

  • È necessario configurare le impostazioni di TypeScript traspilazione in modo che corrispondano al Node.js runtime che si intende utilizzare. Per ulteriori informazioni, consulta Target nella documentazione esbuild. Per un esempio di file tsconfig.json che dimostra come scegliere come target una Node.js versione specifica supportata da Lambda, consulta il repository. TypeScript GitHub

  • esbuild non esegue controlli di tipo. Per controllare i tipi, utilizza il compilatore tsc. Esegui tsc -noEmit oppure aggiungi un parametro "noEmit" al file tsconfig.json come mostrato nell'esempio seguente. Questo configura tsc per non emettere JavaScript file. Dopo aver controllato i tipi, usa esbuild per convertire i TypeScript file in. JavaScript

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

Definizioni dei tipi per Lambda

Il pacchetto @ types/aws -lambda fornisce le definizioni dei tipi per le funzioni Lambda. Installa questo pacchetto quando la tua funzione utilizza uno dei seguenti elementi:

Per aggiungere le definizioni dei tipi Lambda alla tua funzione, installa @types/aws-lambda come dipendenza di sviluppo:

npm install -D @types/aws-lambda

Quindi, importa i tipi da aws-lambda:

import { Context, S3Event, APIGatewayProxyEvent } from 'aws-lambda'; export const handler = async (event: S3Event, context: Context) => { // Function code };

L'istruzione import ... from 'aws-lambda' importa le definizioni dei tipi. Non importa il pacchetto npm aws-lambda, che è uno strumento di terzi non correlato. Per ulteriori informazioni, consulta aws-lambda nel repository. DefinitelyTyped GitHub

Nota

Non hai bisogno di @ types/aws -lambda quando usi le tue definizioni di tipo personalizzate. Per una funzione di esempio che definisce il proprio tipo per un oggetto evento, vedi Esempio di codice della TypeScript funzione Lambda.