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à.
È 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 l' AWS SDK for JavaScript, con le credenziali di un ruolo AWS Identity and Access Management (IAM) che gestisci. Per ulteriori informazioni sulle versioni SDK incluse nei runtime di Node.js, consulta Versioni SDK incluse nel runtime.
Lambda supporta i seguenti runtime di Node.js.
Nome | Identificatore | Sistema operativo | Data di ritiro | Blocco creazione funzioni | Blocco aggiornamento funzioni |
---|---|---|---|---|---|
Node.js 22 |
|
Amazon Linux 2023 |
30 aprile 2027 |
1 giugno 2027 |
1 luglio 2027 |
Node.js 20 |
|
Amazon Linux 2023 |
30 aprile 2026 |
1 giugno 2026 |
1 luglio 2026 |
Node.js 18 |
|
Amazon Linux 2 |
1 settembre 2025 |
1 ottobre 2025 |
1 novembre 2025 |
Argomenti
Configurazione 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 esbuildtsc
) di Microsoft per trasporre il codice in. TypeScript JavaScript Il AWS Serverless Application Model (AWS SAM) ed entrambi usano esbuild. AWS Cloud Development Kit (AWS CDK)
Durante l'utilizzo di esbuild, considera quanto segue:
-
Ci sono diverse TypeScript avvertenze
. -
È necessario configurare le impostazioni di TypeScript traspilazione in modo che corrispondano al runtime di Node.js che si intende utilizzare. Per ulteriori informazioni, consulta Target
nella documentazione esbuild. Per un esempio di file tsconfig.json che dimostra come indirizzare una versione specifica di Node.js supportata da Lambda, fai riferimento al repository. TypeScript GitHub -
esbuild non esegue controlli di tipo. Per controllare i tipi, utilizza il compilatore
tsc
. Eseguitsc -noEmit
oppure aggiungi un parametro"noEmit"
al file tsconfig.json come mostrato nell'esempio seguente. Questo configura per non emettere file.tsc
JavaScript 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
-
Fonti di AWS eventi comuni, come:
-
APIGatewayProxyEvent
: Per le integrazioni proxy di Amazon API Gateway -
SNSEvent
: Per le notifiche di Amazon Simple Notification Service -
SQSEvent
: Per i messaggi di Amazon Simple Queue Service -
S3Event
: Per gli eventi di attivazione di S3 -
DynamoDBStreamEvent
: Per Amazon DynamoDB Streams
-
-
Il pattern del 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'import ... from 'aws-lambda'
istruzione importa le definizioni dei tipi. Non importa il pacchetto aws-lambda
npm, che è uno strumento di terze parti non correlato. Per ulteriori informazioni, consulta aws-lambda
Nota
Non è necessario @types /aws-lambda