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 di eventi Lambda con TypeScript
Puoi usare Node.js runtime da eseguire TypeScript codice in AWS Lambda Funzioni di evento. Perché Node.js non funziona TypeScript codifica in modo nativo, devi prima trascrivere il tuo TypeScript codifica in JavaScript. Quindi, usa JavaScript file per distribuire il codice funzione su Lambda. Il codice viene eseguito in un ambiente che include AWS SDK per JavaScript, con credenziali di un AWS Identity and Access Management ruolo (IAM) che gestisci. Per saperne di più sulle versioni SDK incluse nel Node.js runtime, vedi Runtime-included Versioni SDK.
Per informazioni sul tracciamento TypeScript funzioni con, vedere TypeScript Codice di tracciamento in AWS Lambda.
Lambda supporta quanto segue Node.js tempi di esecuzione.
| Nome | Identificatore | Sistema operativo | Data di ritiro | Blocco creazione funzioni | Blocco aggiornamento funzioni |
|---|---|---|---|---|---|
|
Node.js 26 |
|
Amazon Linux 2023 |
Non programmato |
Non programmato |
Non programmato |
|
Node.js 24 |
|
Amazon Linux 2023 |
30 aprile 2028 |
1 giugno 2028 |
1 luglio 2028 |
|
Node.js 22 |
|
Amazon Linux 2023 |
30 aprile 2027 |
29 luglio 2027 |
31 agosto 2027 |
Argomenti
Configurare un TypeScript ambiente di sviluppo
Usa un ambiente di sviluppo integrato locale (IDE) o un editor di testo per scrivere il tuo TypeScript codice funzione. Non puoi creare TypeScript codice sulla console Lambda.
Puoi usare entrambi esbuildtsc) per trascrivere il tuo TypeScript codice in 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:
-
Ce ne sono diversi TypeScript avvertimenti
. -
È necessario configurare il TypeScript impostazioni di traspilazione in modo che corrispondano a Node.js runtime che intendi utilizzare. Per ulteriori informazioni, consulta Target
nella documentazione esbuild. Per un esempio di tsconfig.json file che dimostra come scegliere come target uno specifico Node.js versione supportata da Lambda, fare riferimento alla TypeScript GitHub magazzino . -
esbuild non esegue controlli di tipo. Per controllare i tipi, utilizza il compilatore
tsc. Eseguitsc -noEmitoppure aggiungi un parametro"noEmit"al file tsconfig.json come mostrato nell'esempio seguente. Questo configuratscnon emettere JavaScript file. Dopo aver controllato i tipi, usa esbuild per convertire 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 @types/aws-lambda
-
Comune AWS fonti di eventi, come:
-
APIGatewayProxyEvent: per integrazioni proxy Amazon API Gateway -
SNSEvent: per notifiche Amazon Simple Notification Service -
SQSEvent: per messaggi Amazon Simple Queue Service -
S3Event: per eventi di trigger S3 -
DynamoDBStreamEvent: per flussi Amazon DynamoDB
-
-
L’oggetto contestuale Lambda
-
Il modello di gestore di callback
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, vedere aws-lambda
Nota
Non è necessario @types/aws-lambda