本地調試功能 AWS SAM - AWS Serverless Application Model

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

本地調試功能 AWS SAM

您可以 AWS SAM 搭配各種 AWS 工具組和除錯器使用,在本機測試和偵錯無伺服器應用程式。Lambda 函數的逐步偵錯可讓您在本機環境中一次識別並修正應用程式中的問題。

執行本機逐步偵錯的一些方法包括設定中斷點、檢查變數,以及一次執行一行函式程式碼。本機逐步偵錯可以讓您尋找並疑難排解可能在雲端中遇到的問題,藉此縮小回饋迴圈。

您可以使用 AWS 工具包進行調試,也可以 AWS SAM 在調試模式下運行。如需詳細資訊,請參閱本節中的主題。

使用 AWS 工具組

AWS Toolkit 是整合式開發環境 (IDE) 外掛程式,可讓您一次執行許多常見的偵錯工作,例如設定中斷點、檢查變數,以及一行執行函數程式碼。 AWS Toolkit 可讓您更輕鬆地開發、偵錯和部署使用. AWS SAM它們提供建置、測試、偵錯、部署和叫用已整合至 IDE 的 Lambda 函數的體驗。

如需可搭配使用之 AWS 「工具組」的詳細資訊 AWS SAM,請參閱下列內容:

有各種各樣的工 AWS 具包可以與 IDE 和運行時的不同組合工作。下表列出支援應用程式逐步偵錯的常見 IDE/ 執行階段組合: AWS SAM

IDE 執行期 AWS 工具包 逐步偵錯的指示
Visual Studio 程式碼
  • Node.js

  • Python

  • .NET

  • Java

  • Go

AWS Toolkit for Visual Studio Code 《AWS Toolkit for Visual Studio Code 使用者指南》 AWS 無伺服器應用程式中使用
AWS Cloud9
  • Node.js

  • Python

AWS Cloud9,啟用 AWS 工具包 1

使用使AWS Cloud9 者指南中的工 AWS 具組來處理 AWS 無伺服器應用程式

WebStorm Node.js AWS Toolkit for JetBrains2

執行 (叫用) 或偵錯 AWS Toolkit for JetBrains

PyCharm Python AWS Toolkit for JetBrains2

執行 (叫用) 或偵錯 AWS Toolkit for JetBrains

Rider .NET AWS Toolkit for JetBrains2

執行 (叫用) 或偵錯 AWS Toolkit for JetBrains

IntelliJ Java AWS Toolkit for JetBrains2

執行 (叫用) 或偵錯 AWS Toolkit for JetBrains

GoLand Go AWS Toolkit for JetBrains2

執行 (叫用) 或偵錯 AWS Toolkit for JetBrains

備註

  1. 若 AWS Cloud9 要使用逐步偵錯 AWS SAM 應用程式,必須啟用「 AWS 工具組」。如需詳細資訊,請參閱《使用指南》中的〈啟AWS Cloud9 用 AWS 工具組

  2. 若要使用 AWS Toolkit for JetBrains 逐步執行除錯 AWS SAM 應用程式,您必須先按照安裝中的指示進行安裝和設定。 AWS Toolkit for JetBrainsAWS Toolkit for JetBrains

以偵錯模式在 AWS SAM 本機執行

除了與 T AWS oolkit 集成之外,您還可以 AWS SAM 在「調試模式」下運行以附加到第三方調試器(如 pt vsd)或進行深入研究。

若要 AWS SAM 在除錯模式下執行,請使用指令sam local invokesam local start-api搭配--debug-port-d選項。

例如:

# Invoke a function locally in debug mode on port 5858 sam local invoke -d 5858 <function logical id> # Start local API Gateway in debug mode on port 5858 sam local start-api -d 5858
注意

如果您使用的是sam local start-api,本機 API Gateway 執行個體會公開您所有的 Lambda 函數。但是,由於您可以指定單一偵錯連接埠,因此一次只能偵錯一個函數。您需要在 AWS SAMCLI綁定到端口之前調用 API,這允許調試器連接。