使用建置 Lambda 函數 TypeScript - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用建置 Lambda 函數 TypeScript

您可以使用 Node.js 執行階段在中執行 TypeScript 程式碼 AWS Lambda。因為 Node.js 本機不會執行 TypeScript 程式碼,所以您必須先將 TypeScript 程式碼轉譯成. JavaScript 然後,使用這些 JavaScript 檔案將函數程式碼部署到 Lambda。您的程式碼在包含 AWS SDK 的環境中執行 JavaScript,其中包含您管理的 AWS Identity and Access Management (IAM) 角色的登入資料。若要進一步瞭解 Node.js 執行階段隨附的 SDK 版本,請參閱包含執行階段的 SDK 版本

Lambda 支援以下 Node.js 執行期。

Node.js
名稱 識別符 作業系統 取代日期 封鎖函數建立 封鎖函數更新

Node.js 20

nodejs20.x

Amazon Linux 2023

Node.js 18

nodejs18.x

Amazon Linux 2

Node.js 16

nodejs16.x

Amazon Linux 2

2024 年 6 月 12 日

2025年2月28日

2025年3月31日

建立 TypeScript 開發環境

使用本機整合式開發環境 (IDE)、文字編輯器,或AWS Cloud9撰寫 TypeScript 函數程式碼。您無法在 Lambda 主控台上建立 TypeScript 程式碼。

為了轉換你的 TypeScript 代碼,設置一個編譯器,如 esbuild 或微軟的 TypeScript 編譯器(tsc),它與發行版捆綁在TypeScript 一起。您可以使用 AWS Serverless Application Model (AWS SAM) 或簡化程式碼的AWS Cloud Development Kit (AWS CDK)建置和部署 TypeScript 程式碼。這兩種工具都使用 esbuild 將 TypeScript 代碼轉換為. JavaScript

使用 esbuild 時,請考慮下列事項︰

範例 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"] }