本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Visual Studio Code 遠端偵錯 Lambda 函式
透過 AWS Toolkit for Visual Studio Code
透過遠端偵錯功能,您可以:
-
在 Lambda 函式程式碼中設定中斷點。
-
即時逐步執行程式碼。
-
在執行時期內檢查變數與狀態。
-
偵錯部署至 AWS 的 Lambda 函式,包括 VPC 中或具有特定 IAM 許可的函式。
支援的執行期
下列執行時期支援遠端偵錯功能:
-
Python (AL2023)
-
Java
-
JavaScript/Node.js (AL2023)
注意
x86_64 與 arm64 架構都支援遠端偵錯功能。
安全性與遠端偵錯
遠端偵錯功能會在現有的 Lambda 安全邊界內運作。使用者可以透過 UpdateFunctionConfiguration 許可將層連接至函式,該許可已經能夠存取函式環境變數與組態。遠端偵錯功能不會超出現有許可範圍,而是會透過安全通道與自動工作階段管理來新增額外的安全控制項。此外,遠端偵錯功能完全由客戶控制,需要明確的許可與動作:
-
IoT 安全通道建立:AWS Toolkit 必須建立一個 IoT 安全通道,這只有在使用者明確許可時才能使用
iot:OpenTunnel執行此動作。 -
偵錯層連接與權杖管理:偵錯程序會透過下列控制項維持安全性:
偵錯層必須連接至 Lambda 函式,此程序需要下列許可:
lambda:UpdateFunctionConfiguration與lambda:GetLayerVersion。
在每個偵錯工作階段開始之前,必須更新函式環境變數中的安全權杖 (透過
iot:OpenTunnel產生),此程序也需要lambda:UpdateFunctionConfiguration。
出於安全考量,此權杖會自動輪換,偵錯層也會在每個偵錯工作階段結束時自動移除,無法重複使用。
注意
x86_64 與 arm64 架構都支援遠端偵錯功能。
必要條件
開始遠端偵錯之前,確認已滿足以下條件:
-
Lambda 函式已部署至您的 AWS 帳戶。
-
AWS Toolkit for Visual Studio Code。如需安裝說明,請參閱 Setting up the AWS Toolkit for Visual Studio Code。
-
安裝的 AWS Toolkit 為 3.69.0 或更新版本。
-
已在 AWS Toolkit for Visual Studio Code 中設定 AWS 憑證。如需更多詳細資訊,請參閱 身分驗證與存取控制。
遠端偵錯 Lambda 函式
請依照下列步驟啟動遠端偵錯工作階段:
-
選擇左側邊欄中的 AWS 圖示,在 VS Code 中開啟 AWS Explorer。
-
展開 Lambda 區段檢視函式。
-
在要偵錯的函式上按一下滑鼠右鍵。
-
從內容功能表中,選擇遠端調用。
-
在開啟的調用視窗中,勾選啟用偵錯方塊。
-
按一下調用,啟動遠端偵錯工作階段。
注意
Lambda 函式的函式程式碼與所有連接層,合併大小上限為 250 MB。遠端偵錯層可使函式大小增加約 40 MB。
當您執行下列操作時,遠端偵錯工作階段將結束:
-
在遠端調用組態畫面中,選擇移除偵錯設定。
-
在 VS Code 偵錯控制項中,點選中斷連線圖示。
-
在 VS Code 編輯器中,選取處理常式檔案。
注意
在上次調用結束後,若閒置超過 60 秒,系統會自動移除偵錯層。
停用遠端偵錯
有三種方式可以停用此功能:
-
拒絕函式更新:將
lambda:UpdateFunctionConfiguration設定為deny。 -
限制 IoT 許可:拒絕 IoT 相關許可
-
封鎖偵錯層:拒絕下列 ARN 的
lambda:GetLayerVersion:arn:aws:lambda:*:*:layer:LDKLayerX86:*
arn:aws:lambda:*:*:layer:LDKLayerArm64:*
注意
停用此功能可防止在函式組態更新期間新增偵錯層。
其他資訊
如需有關在 VS Code 中使用 Lambda 的詳細資訊,請參閱使用 VS Code 在本機開發 Lambda 函式。
如需有關疑難排解、進階使用案例與區域可用性的詳細說明,請參閱 AWS Toolkit for Visual Studio Code User Guide 中的 Remote debugging Lambda functions。