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-Funktionen mit TypeScript
Sie können die Node.js Laufzeit verwenden, um TypeScript Code auszuführen. AWS Lambda Da TypeScript Code Node.js nicht nativ ausgeführt wird, müssen Sie Ihren TypeScript Code zuerst in transpilieren. JavaScript Verwenden Sie dann die JavaScript Dateien, um Ihren Funktionscode auf Lambda bereitzustellen. Ihr Code wird in einer Umgebung ausgeführt, die das AWS SDK für enthält JavaScript, mit Anmeldeinformationen aus einer von Ihnen AWS Identity and Access Management verwalteten (IAM-) Rolle. Weitere Informationen zu den SDK-Versionen, die in den Node.js Runtimes enthalten sind, finden Sie unter. Runtime-included SDK-Versionen
Hinweise zur Ablaufverfolgung von TypeScript Funktionen mit finden Sie unter. TypeScript Code verfolgen in AWS Lambda
Lambda unterstützt die folgenden Node.js Laufzeiten.
| Name | ID | Betriebssystem | Datum der Veraltung | Blockfunktion erstellen | Blockfunktion aktualisieren |
|---|---|---|---|---|---|
|
Node.js 24 |
|
Amazon Linux 2023 |
30. April 2028 |
1. Juni 2028 |
1. Juli 2028 |
|
Node.js 22 |
|
Amazon Linux 2023 |
30. April 2027 |
1. Juni 2027 |
1. Juli 2027 |
Themen
Einrichtung einer TypeScript Entwicklungsumgebung
Verwenden Sie eine lokale integrierte Entwicklungsumgebung (IDE) oder einen Texteditor, um Ihren TypeScript Funktionscode zu schreiben. Sie können auf der Lambda-Konsole keinen TypeScript Code erstellen.
Sie können entweder esbuild tsc) von Microsoft verwenden, um Ihren Code zu transpilieren. TypeScript 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 Vorbehalte. TypeScript
-
Sie müssen Ihre TypeScript Transpilationseinstellungen so konfigurieren, dass sie der Node.js Laufzeit entsprechen, die Sie verwenden möchten. Weitere Informationen finden Sie unter Ziel
in der esbuild-Dokumentation. Ein Beispiel für eine tsconfig.json-Datei, die zeigt, wie Sie auf eine bestimmte, von Lambda unterstützte Node.js Version abzielen, finden Sie im Repository. TypeScript GitHub -
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. Dies konfiguriert sotsc, dass keine Dateien ausgegeben werden. JavaScript Verwenden Sie nach der Überprüfung der Typen esbuild, um die TypeScript Dateien in... zu konvertieren. 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
-
Allgemeine AWS Ereignisquellen, wie z. B.:
-
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
Sie benötigen @ types/aws -lambda nicht,