本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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 憑證:如需有關設定憑證的資訊,請參閱 Setting up your AWS credentials。
-
AWS SAM CLI:如需安裝說明,請參閱 Installing the 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 User Guide 中的 Create an IAM user in your AWS account 和 Manage access keys for IAM users。
使用 AWS Toolkit 設定 AWS 憑證
下表總結了您將在後續步驟中完成的憑證設定流程。
| 操作步驟 | 為什麼? |
|---|---|
| 開啟「登入」面板 | 開始驗證 |
| 使用命令面板搜尋「AWS 新增連線」 | 存取登入 UI |
| 選擇「IAM 憑證」 | 使用存取金鑰以程式設計方式進行存取 |
| 輸入設定檔名稱、存取金鑰、秘密金鑰 | 提供連線所需的憑證 |
| 檢視 AWS Explorer 更新 | 確認連線已成功建立 |
請依照如下步驟完成 AWS 帳戶身分驗證:
-
在 VS Code 中開啟「登入」面板:
-
若要開始身分驗證流程,請選取左側導覽窗格中的 AWS 圖示,或開啟「命令面板」(在 Mac 上使用 Cmd+Shift+P,在 Windows/Linux 上使用 Ctrl+Shift+P),然後搜尋並選取「AWS 新增連線」。
-
-
在「登入」面板中,選擇 IAM 憑證,然後選取繼續。
注意
若要繼續,須允許 VS Code 的 AWS IDE 延伸模組存取您的資料。
-
輸入設定檔名稱、存取金鑰 ID 與私密存取金鑰,然後選取繼續。
-
透過檢查 VS Code 中的 AWS Explorer,驗證您的 AWS 服務與資源的連線狀態。
如需有關使用長期憑證設定身分驗證的資訊,請參閱 Using long-term credentials to authenticate AWS SDKs and tools。
如需有關設定身分驗證的資訊,請參閱 AWS Toolkit for Visual Studio Code User Guide 中的 AWS IAM credentials。
從主控台遷移至本機開發
注意
若您已在主控台進行變更,請在轉換至本機開發前,確認所有變更皆已部署完成。
若要將 Lambda 函式從 Lambda 主控台遷移至 VS Code,請完成下列步驟:
-
開啟 Lambda 主控台
。 -
選擇 函數的名稱。
-
選取程式碼來源索引標籤。
-
選擇在 Visual Studio Code 中開啟。
注意
在 Visual Studio Code 中開啟按鈕僅在 AWS Toolkit 3.69.0 版及更新版本中可用。若已安裝舊版 AWS Toolkit,則可能會在 VS Code 中看到一條訊息:
Cannot open the handler。若要解決此問題,請將 AWS Toolkit 更新至最新版本。 -
出現提示時,同意瀏覽器開啟 VS Code。
當您在 VS Code 中開啟函式時,Lambda 會在專為快速測試與部署而設計的臨時位置,使用函式程式碼建立一個本機專案。該專案包含函式程式碼、相依項以及可用於本機開發的基本專案結構。
如需有關在 VS Code 中使用 AWS 的詳細資訊,請參閱 AWS Toolkit for Visual Studio Code User Guide。
在本機使用函式
在 VS Code 中開啟函式後,請依照下列步驟存取和管理函式:
-
選取側邊欄中的 AWS 圖示,開啟 AWS Explorer:
-
在 AWS Explorer 中,選取包含 Lambda 函式的區域:
-
在所選的區域下,展開 Lambda 區段,即可檢視並管理函式:
在 VS Code 中開啟函式後,您可以:
-
使用完整的語言支援與程式碼自動完成功能來編輯函式程式碼。
-
透過 VS Code 的 LocalStack 整合功能,測試會在執行期間對其他 AWS 服務發起 API 呼叫的 Lambda 函式,例如從 DynamoDB 資料表讀取資料或寫入 Amazon S3 儲存貯體。LocalStack 是一種雲端服務模擬器,提供完整的本機開發環境來測試服務間的整合運作。您也可以使用 AWS SAM CLI 在本機容器中測試函式。如果函式對其他 AWS 服務發起 API 呼叫,這些呼叫會到達真正的 AWS 資源,而非模擬資源。
-
透過中斷點與變數檢查功能進行函式偵錯。如需詳細資訊,請參閱 AWS Toolkit for Visual Studio Code User Guide 中的 Running and debugging Lambda functions directly from code。
-
使用雲端圖示將更新後的函式部署回 AWS。
-
安裝並管理函式的相依項。
如需詳細資訊,請參閱 AWS Toolkit for Visual Studio Code User Guide 中的 Working with AWS Lambda functions。
將函式轉換為 AWS SAM 範本並使用 IaC 工具
在 VS Code 中,您可以選擇 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 User Guide 中的 Working with AWS Lambda functions
-
AWS Toolkit for VS Code User Guide 中的 Working with serverless applications
-
《Lambda 開發人員指南》中的基礎結構即程式碼