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