Node.js ランタイムを使用すると、TypeScript コードを AWS Lambda で実行できます。Node.js は TypeScript コードをネイティブに実行しないため、最初に TypeScript から JavaScript へのコード変換 (トランスパイル) を行う必要があります。次に、JavaScript ファイルを使用して、この関数コードを Lambda にデプロイします。このコードは、ユーザーが管理する AWS Identity and Access Management (IAM) ロールの認証情報を使用することで、AWS SDK for JavaScript を含む環境内で実行できます。Node.js ランタイムに含まれている SDK バージョンの詳細については、「」を参照してくださいランタイムに含まれる SDK バージョン。
Lambda は、以下の Node.js ランタイムをサポートしています。
名前 | 識別子 | オペレーティングシステム | 廃止日 | 関数の作成をブロックする | 関数の更新をブロックする |
---|---|---|---|---|---|
Node.js 22 |
|
Amazon Linux 2023 |
2027 年 4 月 30 日 |
2027 年 6 月 1 日 |
2027 年 7 月 1 日 |
Node.js 20 |
|
Amazon Linux 2023 |
2026 年 4 月 30 日 |
2026 年 6 月 1 日 |
2026 年 7 月 1 日 |
Node.js 18 |
|
Amazon Linux 2 |
2025 年 9 月 1 日 |
2025 年 10 月 1 日 |
2025 年 11 月 1 日 |
TypeScript 開発環境のセットアップ
TypeScript 関数のコードを記述するには、ローカルの統合開発環境 (IDE)、テキストエディタ、または AWS Cloud9 を使用します。Lambda コンソールでは TypeScript コードを作成できません。
TypeScript コードのトランスパイルのためには、esbuildtsc
) をセットアップします。これらは、TypeScript ディストリビューション
esbuild を使用する際は、以下を考慮してください。
-
TypeScript に関する注意事項
がいくつか存在します。 -
TypeScript のトランスパイルには、使用する予定の Node.js ランタイムに適合する設定を行う必要があります。詳細については、esbuild ドキュメントの「Target
」(ターゲット) を参照してください。Lambda でサポートされている特定の Node.js バージョンをターゲットにする場合の、tsconfig.json ファイルの例については、TypeScript GitHub リポジトリ を参照してください。 -
esbuild では、型チェックは行われません。型をチェックする場合は、
tsc
コンパイラを使用します。次の例に示すように、tsc -noEmit
を実行するか、tsconfig.json ファイルに"noEmit"
パラメータを追加します。これを設定することで、tsc
は JavaScript ファイルを出力しなくなります。型のチェックが終了したら、esbuild を使用して TypeScript ファイルを JavaScript に変換します。
例 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"]
}