

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

# Lambda 的開發工具
<a name="tools-to-develop-deploy-manage"></a>

您可以存取各種工具，在整個開發生命週期中提高生產力和易用性。本節提供了可協助許多 Lambda 客戶設計、開發和管理其應用程式之工具的資訊。從在 IDE 中進行本機開發，到部署和管理複雜的無伺服器應用程式，這些工具可協助您簡化工作流程、提升程式碼品質，以及加速開發強大的以 Lambda 為基礎之解決方案。
+ **本機開發**：在偏好的開發環境中更快速地編寫和測試 Lambda 函式。 AWS Toolkit for VS Code 可使用 Lambda 的直接部署功能進行本機函數開發、偵錯和測試。
+ **基礎設施即程式碼 (IaC)**—從本機測試到生產環境，一致地部署和管理無伺服器應用程式。 AWS SAM AWS CDK CloudFormation 可讓您透過程式碼定義和管理無伺服器基礎設施，以實現一致的版本控制部署。
+ **GitHub Actions**：直接從程式碼儲存庫實現 Lambda 自動化部署。使用 GitHub 動作，您可以設定工作流程，在您推送程式碼或組態變更時自動部署 Lambda 函數，簡化 CI/CD 管道。
+ **Powertools for AWS Lambda** - 使用較少的自訂程式碼建置生產就緒型無伺服器應用程式。Powertools for AWS Lambda （也稱為 Powertools for AWS) 是一種開放原始碼開發人員工具組，可簡化在 Python、TypeScript、Java 和 .NET 之間實作無伺服器最佳實務，例如可觀測性、參數擷取和冪等。
+ **工作流程和事件** - 協調 Lambda 函數與 AWS 服務、APIs和外部系統。Lambda 提供兩種協同運作選項：[Lambda 耐用函數適用於使用 Lambda](durable-functions.md) 內標準程式設計語言的應用程式中心協同運作，[AWS Step Functions](with-step-functions.md)以及具有跨多個服務視覺化設計的工作流程中心協同運作。Amazon EventBridge 為事件驅動型架構提供事件管理功能。如需選擇協同運作方法的協助，請參閱[耐用函數或 Step Functions](durable-step-functions.md)。

## 本機開發工具
<a name="local-development-tools"></a>

本機開發環境可讓您離線工作並使用進階 IDE 功能，同時在 Lambda 函數上快速迭代。這些工具可協助您對複雜函式進行偵錯，並在連線受限的環境中進行開發。此外，這些工具也支援團隊協作，能與版本控制系統整合。

如需有關在本機開發 Lambda 函式的詳細資訊，請參閱[在本機開發 Lambda 函數](foundation-iac-local-development.md)。此頁面說明如何將 Lambda 函數開發從 AWS 主控台移至 Visual Studio Code，該程式碼提供豐富的開發環境，具有偵錯和程式碼完成等功能。若要進行轉換，您需要設定 AWS Toolkit for Visual Studio Code 和 登入資料，之後您可以在 VS Code 中使用進階功能，同時維持直接部署到 的功能 AWS。

Lambda 的本機開發提供數種關鍵功能：
+ 使用 Visual Studio Code 與 Lambda 主控台的整合功能
+ 設定本機 Lambda 開發環境
+ 在本機偵錯並測試函式
+ 套用本機函式管理的最佳實務

如需詳細資訊，請參閱[在本機開發 Lambda 函數](foundation-iac-local-development.md)。

## 基礎結構即程式碼 (IaC) 工具
<a name="iac-tools"></a>

透過基礎結構即程式碼 (IaC) 工具，您可以使用程式碼定義並管理無伺服器架構。此方法有助於維持跨環境的一致性，讓您控制基礎設施版本，並支援 DevOps 實務。IaC 對於自動化部署、確保一致的環境和管理多區域部署尤其重要。

Lambda 的關鍵 IaC 工具與概念，包括用於範本建立、部署管理及無伺服器基礎結構最佳實務的架構：
+ 適用於 Lambda 開發的 IaC 核心原則
+ CloudFormation AWS SAM、 和 AWS CDK 功能
+ 工具選取條件與比較
+ Lambda IaC 實作的最佳實務

無論您是獨立處理小型專案，還是作為大型團隊的一員管理企業級規模的無伺服器應用程式，這些開發和部署工具都可協助您更有效地編寫、部署並管理 Lambda 函式。

如需詳細資訊，請參閱[將 Lambda 搭配基礎設施即程式碼 (IaC)](foundation-iac.md)。

## GitHub Actions 工具
<a name="github-actions-tools"></a>

GitHub Actions 提供直接從程式碼儲存庫為 Lambda 函式自動部署的能力。透過在儲存庫中建立工作流程檔案，您可以在推送程式碼或組態變更時自動部署 Lambda 函式，從而簡化持續整合和持續部署 (CI/CD) 管道。部署 Lambda 函數動作提供宣告式 YAML 介面，可簡化部署程序、透過 OpenID Connect (OIDC) 處理 AWS 登入資料，並支援各種部署案例，包括程式碼更新、組態變更和乾執行驗證。此整合可讓團隊在使用現有 GitHub 工作流程時，維持一致且自動化的部署程序。

如需詳細資訊，請參閱[使用 GitHub Actions 部署 Lambda 函式](deploying-github-actions.md)。

## AWS Lambda 的 Powertools
<a name="development-powertools"></a>

Powertools for AWS 是一種開放原始碼開發人員工具組，可協助您以最少的自訂程式碼實作無伺服器最佳實務。該工具組支援 Python、TypeScript/Node.js、Java 與 .NET，提供公用程式函式、裝飾項目和中介軟體，可簡化常見的 Lambda 開發任務。該工具組包含內建的可觀測性功能，例如結構化日誌記錄、追蹤和指標收集，以及用於參數擷取、秘密管理和冪等性模式的公用程式。這些工具符合架構 AWS 良好的最佳實務，並協助開發人員更有效率地建置生產就緒的無伺服器應用程式。透過減少樣板程式碼並標準化常見模式，適用於 的 Powertools AWS 可讓團隊專注於商業邏輯，同時在整個應用程式中維持無伺服器最佳實務的一致實作。

如需詳細資訊，請參閱[AWS Lambda 的 Powertools](powertools-for-lambda.md)。

## 工作流程與事件管理工具
<a name="workflow-event-management-tools"></a>

Lambda 應用程式可用於協調複雜的工作流程和處理各種事件。 AWS 提供專用工具，協助您管理無伺服器開發的這些層面。了解 AWS Step Functions 工作流程協同運作的 和事件管理的 Amazon EventBridge，以及如何將其與您的 Lambda 函數整合。這些工具可以提供強大的狀態管理和事件驅動型架構，進而顯著增強無伺服器應用程式的可擴展性和可靠性。透過使用這些服務，您可以建置更複雜且更具彈性的 Lambda 型解決方案，以處理複雜的業務流程，並對各種系統和應用程式事件做出反應。

如需詳細資訊，請參閱[管理 Lambda 工作流程與事件](workflow-event-management.md)。