本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
直接從程式碼執行和偵錯 Lambda 函數
測試 AWS SAM 應用程式時,您可以選擇僅執行 Lambda 函數並除錯,並排除 AWS SAM 範本定義的其他資源。此方法涉及使用 CodeLens
由 偵測到的 Lambda 處理常式 CodeLens 取決於您用於應用程式的語言和執行時間。
語言/執行時間 | 指標 CodeLens識別 Lambda 函數的條件 |
---|---|
C# (dotnetcore2.1、3.1;。NET 5.0) |
函式具備以下特性:
安裝並啟用 ms-dotnettools.csharp 延伸模組 |
JavaScript/TypeScript (Node.js 12.x、14.x) |
函式具備以下特性:
|
Python (3.7、3.8、3.9、3.10、3.11、3.12) |
函式具備以下特性:
安裝並啟用 ms-python.python 延伸模組 |
Java (8、8.al2、11) |
函式具備以下特性:
已安裝並啟用 redhat.java 延伸模組 已安裝並啟用 vscjava.vscode-java-debug |
Go (1.x) |
函式具備以下特性:
golang.go 延伸 |
如何從應用程式程式碼直接執行與除錯無伺服器應用程式
-
若要在 VS Code File Explorer 中檢視應用程式檔案,請選擇檢視 、 Explorer 。
-
從應用程式資料夾 (例如 my-sample-app),展開函數資料夾 (在此情況下為 hello-world ) 並開啟
app.js
檔案。 -
在識別合格 Lambda 函數處理常式的 CodeLens 指示器中,選擇
Add Debug Configuration
。 -
在命令面板 中,選取 AWS SAM 應用程式將在其中執行的執行時間。
-
在
launch.json
檔案的編輯器中編輯或確認下列組態屬性的值:-
"name"
– 輸入方便識讀的名稱,讓它顯示在 Run (執行) 檢視的 Configuration (組態) 下拉式欄位中。 -
"target"
– 確認值為"code"
,以便直接叫用 Lambda 函式處理常式。 -
"lambdaHandler"
– 輸入程式碼中所用方法的名稱,Lambda 會呼叫此程式碼來叫用您的函數。例如,對於 中的應用程式 JavaScript,預設值為app.lambdaHandler
。 -
"projectRoot"
– 為包含 Lambda 函式的應用程式輸入檔案路徑。 -
"runtime"
– 輸入或確認 Lambda 執行環境的有效執行時間,例如"nodejs.12x"
。 -
"payload"
– 選擇下列其中一個選項來定義您想要提供給 Lambda 函式作為輸入的事件酬載:-
"json"
:定義事件承載的JSON格式化鍵值對。 -
"path"
:作為事件酬載的檔案的路徑。
在下面的範例中,
"json"
選項會定義承載。 -
如需詳細了解
launch.json
檔案中的上述與其他項目,請參閱 除錯無伺服器應用程式的組態選項。 -
-
如果您對偵錯組態感到滿意,若要開始偵錯,請選擇 旁邊的綠色播放箭頭RUN。
當偵錯工作階段開始時,DEBUGCONSOLE面板會顯示偵錯輸出,並顯示 Lambda 函數傳回的任何值。(偵錯 AWS SAM 應用程式時,會在輸出面板中選取 AWS Toolkit 作為輸出頻道。)