Aufbau von Lambda-Funktionen mit TypeScript - AWS Lambda

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.

Aufbau von Lambda-Funktionen mit TypeScript

Sie können die Laufzeit von Node.js verwenden, um TypeScript Code darin AWS Lambda auszuführen. Da Node.js TypeScript Code nicht nativ ausführt, müssen Sie Ihren TypeScript Code zuerst in das Format transpilieren. JavaScript Verwenden Sie dann die JavaScript Dateien, um Ihren Funktionscode für Lambda bereitzustellen. Ihr Code wird in einer Umgebung ausgeführt, die das AWS SDK für enthält JavaScript, mit Anmeldeinformationen aus einer AWS Identity and Access Management (IAM-) Rolle, die Sie verwalten. Weitere Informationen zu den SDK-Versionen, die in den Laufzeiten von Node.js enthalten sind, finden Sie unter SDK-Versionen, die zur Laufzeit enthalten sind.

Lambda unterstützt die folgenden Node.js-Laufzeiten.

Name ID Betriebssystem Datum der Veraltung Blockfunktion erstellen Blockfunktion aktualisieren

Node.js 24

nodejs24.x

Amazon Linux 2023

30. April 2028

1. Juni 2028

1. Juli 2028

Node.js 22

nodejs22.x

Amazon Linux 2023

30. April 2027

1. Juni 2027

1. Juli 2027

Node.js 20

nodejs20.x

Amazon Linux 2023

30. April 2026

31. August 2026

30. September 2026

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 oder den TypeScript Compiler (tsc) von Microsoft verwenden, um Ihren Code in 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:

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 Paket @types/aws-lambda enthält Typdefinitionen für Lambda-Funktionen. Installieren Sie dieses Paket, wenn Ihre Funktion eines der folgenden Elemente verwendet:

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 im Repository. DefinitelyTyped GitHub

Anmerkung

Sie benötigen @types/aws-lambda nicht, wenn Sie Ihre eigenen benutzerdefinierten Typdefinitionen verwenden. Eine Beispielfunktion, die ihren eigenen Typ für ein Ereignisobjekt definiert, finden Sie unter Beispiel für einen TypeScript Lambda-Funktionscode.