本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 VS Code 在本機開發 Lambda 函式
您可以將 Lambda 函數從 Lambda 主控台移至 Visual Studio Code,該程式碼提供完整的開發環境,並可讓您使用其他本機開發選項,例如 AWS SAM 和 AWS CDK。
本機開發的主要優勢
雖然 Lambda 主控台提供了一種快速編輯與測試函式的方式,但本機開發能帶來更進階的功能:
-
進階 IDE 功能:偵錯、程式碼自動完成與重構工具
-
離線開發:在部署至雲端前,先於本機進行程式碼開發與測試
-
基礎設施即程式碼整合:與 AWS SAM AWS CDK和 Infrastructure Composer 無縫使用
-
相依項管理:完全控制函式相依項
先決條件
在 VS Code 中本機開發 Lambda 函式之前,您必須已滿足以下條件:
-
VS Code:如需安裝說明,請參閱 Download VS Code
。 -
AWS Toolkit for Visual Studio Code:如需安裝說明,請參閱 Setting up the AWS Toolkit for Visual Studio Code。如需概觀,請參閱 AWS Toolkit for Visual Studio Code
。 -
AWS 登入資料:如需設定登入資料的相關資訊,請參閱設定您的 AWS 登入資料。
-
AWS SAM CLI:如需安裝說明,請參閱安裝 AWS SAM CLI。
-
已安裝 Docker (選用項,但在本機測試時為必要項):如需安裝說明,請參閱 Get Docker
。
注意
如果您已在本機設定 AWS 帳戶和設定檔,請確定 AdministratorAccess 受管政策已新增至您設定的 AWS 設定檔。
身分驗證與存取控制
若要在本機開發 Lambda 函數,您需要 AWS 登入資料來代表您安全地存取和管理 AWS 資源,就像在雲端一樣。 AWS Toolkit for VS Code 支援下列身分驗證方法:
AWS Toolkit for VS Code 支援下列身分驗證方法:
-
IAM 使用者長期憑證
-
來自擔任角色的臨時憑證
-
聯合身分
-
AWS 帳戶根使用者登入資料 (不建議)
本節會引導您使用 IAM 使用者長期憑證,完成這些憑證的取得與設定流程。
取得 IAM 憑證
如果您已有具備存取金鑰的 IAM 使用者,請備妥存取金鑰 ID 與私密存取金鑰,供下一節使用。若無所述金鑰,請依照下列步驟建立金鑰:
注意
您必須一起使用存取金鑰 ID 和私密存取金鑰來驗證您的請求。
若要建立 IAM 使用者與存取金鑰:
-
前往 https://console.aws.amazon.com/iam/
開啟 IAM 主控台 -
在導覽窗格中,選擇使用者 。
-
選擇 Create user (建立使用者)。
-
在使用者名稱欄位中輸入名稱,然後選擇下一步。
-
在設定許可欄位中,選擇直接連接政策。
-
選取 AdministratorAccess,然後選擇下一步。
-
選擇 Create user (建立使用者)。
-
在成功橫幅中,選擇檢視使用者。
-
選擇 Create access key (建立新的存取金鑰)。
-
在使用案例欄位中,選擇本機程式碼。
-
選取確認核取方塊,然後選擇下一步。
-
(選用) 輸入描述標籤值。
-
選擇 Create access key (建立新的存取金鑰)。
-
立即複製您的存取金鑰和私密存取金鑰。一旦離開此頁面,您將無法再次存取該私密存取金鑰。
重要
切勿共用私密金鑰,亦勿將其提交至原始碼控制系統。請妥善儲存這些金鑰,並在不再需要時立即刪除。
注意
如需詳細資訊,請參閱《IAM 使用者指南》中的在 AWS 帳戶中建立 IAM 使用者和管理 IAM 使用者的存取金鑰。
使用 AWS Toolkit 設定 AWS 登入資料
下表總結了您將在後續步驟中完成的憑證設定流程。
| 操作步驟 | 為什麼? |
|---|---|
| 開啟「登入」面板 | 開始驗證 |
| 使用命令調色盤,搜尋 AWS 新增連線 | 存取登入 UI |
| 選擇「IAM 憑證」 | 使用存取金鑰以程式設計方式進行存取 |
| 輸入設定檔名稱、存取金鑰、私密金鑰 | 提供連線所需的憑證 |
| 請參閱 AWS Explorer 更新 | 確認連線已成功建立 |
完成向 AWS 您的帳戶進行身分驗證的步驟:
-
在 VS Code 中開啟「登入」面板:
-
若要開始身分驗證程序,請選取左側導覽窗格中的 AWS 圖示,或開啟命令面板 (Mac 上的 Cmd+Shift+P 或 Windows/Linux 上的 Ctrl+Shift+P),然後搜尋並選取AWS 新增連線。
-
-
在「登入」面板中,選擇 IAM 憑證,然後選取繼續。
注意
若要繼續,您需要允許 VS 程式碼的 AWS IDE 延伸存取您的資料。
-
輸入設定檔名稱、存取金鑰 ID 與私密存取金鑰,然後選取繼續。
-
檢查 AWS 您服務和資源的 VS Code 中的 AWS Explorer 來驗證連線。
如需使用長期憑證設定身分驗證的資訊,請參閱使用長期憑證來驗證 AWS SDKs和工具。
如需有關設定身分驗證的資訊,請參閱 AWS Toolkit for Visual Studio Code 《 使用者指南》中的 AWS IAM 登入資料。
從主控台遷移至本機開發
注意
若您已在主控台進行變更,請在轉換至本機開發前,確認所有變更皆已部署完成。
若要將 Lambda 函式從 Lambda 主控台遷移至 VS Code,請完成下列步驟:
-
開啟 Lambda 主控台
。 -
選擇 函數的名稱。
-
選取程式碼來源索引標籤。
-
選擇在 Visual Studio Code 中開啟。
注意
Open in Visual Studio Code 按鈕僅適用於 AWS Toolkit 3.69.0 版及更新版本。如果您已安裝舊版的 AWS Toolkit,您可能會在 VS 程式碼中看到
Cannot open the handler訊息。若要解決此問題,請將您的 AWS Toolkit 更新至最新版本。 -
出現提示時,同意瀏覽器開啟 VS Code。
當您在 VS Code 中開啟函式時,Lambda 會在專為快速測試與部署而設計的臨時位置,使用函式程式碼建立一個本機專案。該專案包含函式程式碼、相依項以及可用於本機開發的基本專案結構。
如需在 VS 程式碼 AWS 中使用 的詳細資訊,請參閱 AWS Toolkit for Visual Studio Code 使用者指南。
在本機使用函式
在 VS Code 中開啟函式後,請依照下列步驟存取和管理函式:
-
選取側邊欄中的 AWS 圖示以開啟 AWS Explorer:
-
在 AWS Explorer 中,選取具有 Lambda 函數的區域:
-
在所選的區域下,展開 Lambda 區段,即可檢視並管理函式:
在 VS Code 中開啟函式後,您可以:
-
使用完整的語言支援與程式碼自動完成功能來編輯函式程式碼。
-
使用 VS Code 中的 LocalStack 整合來測試在執行 AWS 服務 期間對其他 進行 API 呼叫的 Lambda 函數,例如從 DynamoDB 資料表讀取或寫入 Amazon S3 儲存貯體。LocalStack 是一種雲端服務模擬器,提供完整的本機開發環境來測試服務間的整合運作。您也可以使用 AWS SAM CLI 在本機容器中測試函式。如果您的函數對其他 發出 API 呼叫, AWS 服務 這些呼叫將到達實際 AWS 資源,而不是模擬資源。
-
透過中斷點與變數檢查功能進行函式偵錯。如需詳細資訊,請參閱 AWS Toolkit for Visual Studio Code User Guide 中的 Running and debugging Lambda functions directly from code。
-
AWS 使用雲端圖示將更新的函數部署回 。
-
安裝並管理函式的相依項。
如需詳細資訊,請參閱 AWS Toolkit for Visual Studio Code 《 使用者指南》中的使用 AWS Lambda 函數。
將您的函數轉換為 AWS SAM 範本並使用 IaC 工具
在 VS 程式碼中,您可以選擇 Lambda 函數旁的轉換為 AWS SAM 應用程式圖示,將 Lambda 函數轉換為 AWS SAM 範本。系統會提示您選取 AWS SAM 專案位置。選取後,您的 Lambda 函數將轉換為儲存在新 AWS SAM 專案中的template.yaml檔案。
將函數轉換為 AWS SAM 範本後,您可以:
對基礎結構進行版本控制
自動化部署流程
遠端偵錯函式
將其他 AWS 資源新增至您的應用程式
在整個開發生命週期中維護一致的環境
使用 Infrastructure Composer 以視覺化方式編輯您的 AWS SAM 範本
如需有關使用 IaC 工具的詳細資訊,請參閱下列指南:
這些工具提供其他定義、測試和部署無伺服器應用程式的功能。
後續步驟
若要進一步了解如何在 VS Code 中使用 Lambda 函式,請參閱下列資源:
-
《 AWS Toolkit for VS Code 使用者指南》中的使用 AWS Lambda 函數
-
《 AWS Toolkit for VS Code 使用者指南》中的使用無伺服器應用程式
-
《Lambda 開發人員指南》中的基礎結構即程式碼