View a markdown version of this page

使用 VS Code 在本機開發 Lambda 函式 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 VS Code 在本機開發 Lambda 函式

您可以將 Lambda 函數從 Lambda 主控台移至 Visual Studio Code,該程式碼提供完整的開發環境,並可讓您使用其他本機開發選項,例如 AWS SAM 和 AWS CDK。

本機開發的主要優勢

雖然 Lambda 主控台提供了一種快速編輯與測試函式的方式,但本機開發能帶來更進階的功能:

  • 進階 IDE 功能:偵錯、程式碼自動完成與重構工具

  • 離線開發:在部署至雲端前,先於本機進行程式碼開發與測試

  • 基礎設施即程式碼整合:與 AWS SAM AWS CDK和 Infrastructure Composer 無縫使用

  • 相依項管理:完全控制函式相依項

先決條件

在 VS Code 中本機開發 Lambda 函式之前,您必須已滿足以下條件:

注意

如果您已在本機設定 AWS 帳戶和設定檔,請確定 AdministratorAccess 受管政策已新增至您設定的 AWS 設定檔。

身分驗證與存取控制

若要在本機開發 Lambda 函數,您需要 AWS 登入資料來代表您安全地存取和管理 AWS 資源,就像在雲端一樣。 AWS Toolkit for VS Code 支援下列身分驗證方法:

AWS Toolkit for VS Code 支援下列身分驗證方法:

  • IAM 使用者長期憑證

  • 來自擔任角色的臨時憑證

  • 聯合身分

  • AWS 帳戶根使用者登入資料 (不建議)

本節會引導您使用 IAM 使用者長期憑證,完成這些憑證的取得與設定流程。

取得 IAM 憑證

如果您已有具備存取金鑰的 IAM 使用者,請備妥存取金鑰 ID 與私密存取金鑰,供下一節使用。若無所述金鑰,請依照下列步驟建立金鑰:

注意

您必須一起使用存取金鑰 ID 和私密存取金鑰來驗證您的請求。

若要建立 IAM 使用者與存取金鑰:

  1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台

  2. 在導覽窗格中,選擇使用者

  3. 選擇 Create user (建立使用者)。

  4. 使用者名稱欄位中輸入名稱,然後選擇下一步

  5. 設定許可欄位中,選擇直接連接政策

  6. 選取 AdministratorAccess,然後選擇下一步

  7. 選擇 Create user (建立使用者)。

  8. 在成功橫幅中,選擇檢視使用者

  9. 選擇 Create access key (建立新的存取金鑰)

  10. 使用案例欄位中,選擇本機程式碼

  11. 選取確認核取方塊,然後選擇下一步

  12. (選用) 輸入描述標籤值。

  13. 選擇 Create access key (建立新的存取金鑰)

  14. 立即複製您的存取金鑰和私密存取金鑰。一旦離開此頁面,您將無法再次存取該私密存取金鑰。

重要

切勿共用私密金鑰,亦勿將其提交至原始碼控制系統。請妥善儲存這些金鑰,並在不再需要時立即刪除。

使用 AWS Toolkit 設定 AWS 登入資料

下表總結了您將在後續步驟中完成的憑證設定流程。

操作步驟 為什麼?
開啟「登入」面板 開始驗證
使用命令調色盤,搜尋 AWS 新增連線 存取登入 UI
選擇「IAM 憑證」 使用存取金鑰以程式設計方式進行存取
輸入設定檔名稱、存取金鑰、私密金鑰 提供連線所需的憑證
請參閱 AWS Explorer 更新 確認連線已成功建立

完成向 AWS 您的帳戶進行身分驗證的步驟:

  1. 在 VS Code 中開啟「登入」面板:

    1. 若要開始身分驗證程序,請選取左側導覽窗格中的 AWS 圖示,或開啟命令面板 (Mac 上的 Cmd+Shift+P 或 Windows/Linux 上的 Ctrl+Shift+P),然後搜尋並選取AWS 新增連線

  2. 在「登入」面板中,選擇 IAM 憑證,然後選取繼續

    注意

    若要繼續,您需要允許 VS 程式碼的 AWS IDE 延伸存取您的資料。

  3. 輸入設定檔名稱、存取金鑰 ID 與私密存取金鑰,然後選取繼續

  4. 檢查 AWS 您服務和資源的 VS Code 中的 AWS Explorer 來驗證連線。

如需使用長期憑證設定身分驗證的資訊,請參閱使用長期憑證來驗證 AWS SDKs和工具

如需有關設定身分驗證的資訊,請參閱 AWS Toolkit for Visual Studio Code 《 使用者指南》中的 AWS IAM 登入資料。

從主控台遷移至本機開發

注意

若您已在主控台進行變更,請在轉換至本機開發前,確認所有變更皆已部署完成。

若要將 Lambda 函式從 Lambda 主控台遷移至 VS Code,請完成下列步驟:

  1. 開啟 Lambda 主控台

  2. 選擇 函數的名稱。

  3. 選取程式碼來源索引標籤。

  4. 選擇在 Visual Studio Code 中開啟

    注意

    Open in Visual Studio Code 按鈕僅適用於 AWS Toolkit 3.69.0 版及更新版本。如果您已安裝舊版的 AWS Toolkit,您可能會在 VS 程式碼中看到Cannot open the handler訊息。若要解決此問題,請將您的 AWS Toolkit 更新至最新版本。

  5. 出現提示時,同意瀏覽器開啟 VS Code。

當您在 VS Code 中開啟函式時,Lambda 會在專為快速測試與部署而設計的臨時位置,使用函式程式碼建立一個本機專案。該專案包含函式程式碼、相依項以及可用於本機開發的基本專案結構。

如需在 VS 程式碼 AWS 中使用 的詳細資訊,請參閱 AWS Toolkit for Visual Studio Code 使用者指南

在本機使用函式

在 VS Code 中開啟函式後,請依照下列步驟存取和管理函式:

  1. 選取側邊欄中的 AWS 圖示以開啟 AWS Explorer:

    AWS VS 程式碼側邊欄中的工具組圖示
  2. 在 AWS Explorer 中,選取具有 Lambda 函數的區域:

    AWS 檔案總管顯示區域選擇
  3. 在所選的區域下,展開 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 函式,請參閱下列資源: