Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen von Lambda-Eventfunktionen mit TypeScript
Sie können die verwenden Node.js Laufzeit, die ausgeführt werden soll TypeScript einprogrammieren AWS Lambda Event-Funktionen. Weil Node.js läuft nicht TypeScript Code nativ, Sie müssen zuerst Ihren transpilieren TypeScript codieren in JavaScript. Dann benutze den JavaScript Dateien, um Ihren Funktionscode auf Lambda bereitzustellen. Ihr Code läuft in einer Umgebung, die Folgendes umfasst AWS SDK für JavaScript, mit Anmeldeinformationen von einem AWS Identity and Access Management (IAM) -Rolle, die Sie verwalten. Um mehr über die SDK-Versionen zu erfahren, die im Lieferumfang des enthalten sind Node.js Laufzeiten finden Sie unter Runtime-included SDK-Versionen.
Für Informationen zur Rückverfolgung TypeScript funktioniert mit, siehe TypeScript Code nachverfolgen in AWS Lambda.
Lambda unterstützt Folgendes Node.js Laufzeiten.
| Name | ID | Betriebssystem | Datum der Veraltung | Blockfunktion erstellen | Blockfunktion aktualisieren |
|---|---|---|---|---|---|
|
Node.js 26 |
|
Amazon Linux 2023 |
Nicht geplant |
Nicht geplant |
Nicht geplant |
|
Node.js 24 |
|
Amazon Linux 2023 |
30. April 2028 |
1. Juni 2028 |
1. Juli 2028 |
|
Node.js 22 |
|
Amazon Linux 2023 |
30. April 2027 |
29. Juli 2027 |
31. August 2027 |
Themen
Definieren Sie den Lambda-Ereignisfunktionshandler in TypeScript
Stellen Sie transpilierten TypeScript Code in Lambda mit ZIP-Dateiarchiven bereit
Stellen Sie transpilierten TypeScript Code in Lambda mit Container-Images bereit
Verwenden des Lambda-Kontextobjekts zum Abrufen von Informationen zur TypeScript Ereignisfunktion
TypeScript Lambda-Ereignisfunktionen protokollieren und überwachen
Einrichtung eines TypeScript Entwicklungsumgebung
Verwenden Sie eine lokale integrierte Entwicklungsumgebung (IDE) oder einen Texteditor, um Ihre zu schreiben TypeScript Funktionscode. Du kannst nicht erstellen TypeScript Code auf der Lambda-Konsole.
Sie können beides verwenden esbuildtsc) um deine zu transpilieren TypeScript kodieren in JavaScript. AWS Serverless Application Model (AWS SAM) und AWS Cloud Development Kit (AWS CDK) verwenden beide „esbuild“.
Wenn Sie esbuild verwenden, beachten Sie Folgendes:
-
Es gibt mehrere TypeScript Vorbehalte
. -
Sie müssen Ihre konfigurieren TypeScript Transpilationseinstellungen, die den entsprechen Node.js Laufzeit, die Sie verwenden möchten. Weitere Informationen finden Sie unter Ziel
in der esbuild-Dokumentation. Für ein Beispiel für eine tsconfig.json Datei, die zeigt, wie man auf ein bestimmtes Ziel abzielt Node.js Version, die von Lambda unterstützt wird, finden Sie in der TypeScript GitHub Endlager . -
esbuild führt keine Typprüfungen durch. Um Typen zu überprüfen, verwenden Sie den
tsc-Compiler. Führen Sietsc -noEmitaus oder fügen Sie einen"noEmit"-Parameter zu Ihrer tsconfig.json-Datei hinzu, wie im folgenden Beispiel gezeigt. Das konfigurierttscnicht emittieren JavaScript Dateien. Verwenden Sie nach der Überprüfung der Typen esbuild, um die zu konvertieren TypeScript Dateien in JavaScript.
Beispiel 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"] }
Typdefinitionen für Lambda
Das @types/aws-Lambda
-
Häufig AWS Ereignisquellen wie:
-
APIGatewayProxyEvent: Für Für Proxy-Integrationen in Amazon API Gateway -
SNSEvent: Für Amazon-Simple-Notification-Service-Benachrichtigungen -
SQSEvent: Für Amazon-Simple-Queue-Service-Nachrichten -
S3Event: Für S3-Auslöserereignisse -
DynamoDBStreamEvent: Für Amazon DynamoDB Streams
-
-
Das Lambda-Kontext-Objekt
-
Das Callback-Handler-Muster
Um die Lambda-Typdefinitionen zu Ihrer Funktion hinzuzufügen, installieren Sie @types/aws-lambda als eine Entwicklungsabhängigkeit:
npm install -D @types/aws-lambda
Importieren Sie dann die Typen aus aws-lambda:
import { Context, S3Event, APIGatewayProxyEvent } from 'aws-lambda'; export const handler = async (event: S3Event, context: Context) => { // Function code };
Die import ... from 'aws-lambda'-Anweisung importiert die Typdefinitionen. Das aws-lambda-NPM-Paket wird nicht importiert, da es sich um ein unabhängiges Tool eines Drittanbieters handelt. Weitere Informationen finden Sie unter aws-lambda
Anmerkung
Du brauchst nicht @types/aws-Lambda