使用 AWS Toolkit 使用 AWS Lambda 函數 - AWS Cloud9

AWS Cloud9 不再提供給新客戶。的現有客戶 AWS Cloud9 可以繼續正常使用服務。進一步了解

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

使用 AWS Toolkit 使用 AWS Lambda 函數

AWS 工具組支援 AWS Lambda 函數。 AWS 工具組會取代 中 Lambda 外掛程式先前提供的功能 AWS Cloud9。您可以使用 AWS Toolkit 編寫 Lambda 函數的程式碼,這些函數屬於無伺服器應用程式 的一部分。此外,您可以在本機或 AWS上叫用 Lambda 函式。

Lambda 是一種完整受管的運算服務,可執行程式碼回應自訂程式碼所產生的事件,或執行來自各種 AWS 服務的程式碼。其中包括 Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB 、Amazon Kinesis 、Amazon Simple Notification Service (Amazon SNS) 和 Amazon Cognito 。

重要

如果您想要建置使用無伺服器應用程式模型 (SAM) 所提供資源的 Lambda 應用程式,請參閱 AWS SAM 使用 AWS Toolkit

叫用遠端 Lambda 函式

使用 AWS Toolkit,您可以透過各種方式與AWS Lambda函數互動。

如需有關 Lambda 的詳細資訊,請參閱 AWS Lambda 開發人員指南

注意

假設您已使用 AWS Management Console 或 以其他方式建立 Lambda 函數。您可以從 AWS Toolkit 叫用它們。若要使用可部署至 的工具 AWS 組建立新函數 AWS Lambda,您必須先建立無伺服器應用程式

必要條件

  • 請確定您在 中設定的憑證包含對 AWS Lambda 服務的適當讀取/寫入存取權。如果在 AWS ExplorerLambda 下方,您看到類似「Error loading Lambda resources」(載入 Lambda 資源時發生錯誤) 的訊息,請檢查與這些憑證連接的許可。您對這些許可所做的變更需要幾分鐘的時間才會在 AWS Toolkit 中對 AWS Explorer 生效。

叫用 Lambda 函式

重要

使用 AWS Toolkit 呼叫API方法可能會導致無法復原的資源變更。例如,如果您呼叫 POST方法,當呼叫成功時, API的資源會更新。

您可以使用 AWS Toolkit 在 上叫用 Lambda AWS 函數。

  1. AWS Explorer 中,選擇您想要叫用的 Lambda 函式名稱,然後開啟其內容選單。

  2. 選擇在 上叫用 AWS

  3. 在開啟的 Invoke function (叫用函式) 視窗中,針對 Lambda 函式所需的酬載選擇選項。(承載是JSON您要提供給 Lambda 函數作為輸入的 。) 您可以選擇 Browse (瀏覽) 來選取要當作酬載的檔案,或使用下拉式欄位來挑選酬載的範本。在本例中,Lambda 函數可能會以字串方式輸入,如文字方塊中所示。

選擇 Invoke (叫用) 來叫用 Lambda 並傳入酬載。

您可以在 AWS Lambda 索引標籤中看到 Lambda 函數的輸出。

下載、上傳並刪除 Lambda 函式

AWS 工具組提供在 中匯入和上傳 Lambda 函數的選項 AWS Cloud9 IDE。

下載 Lambda 函式

透過下載 Lambda 函數,您也可以從 AWS Cloud 下載描述函數的專案檔案,並在 中使用它們 AWS Cloud9 IDE。

如何下載 Lambda 函式

  1. AWS Explorer 的 Lambda 節點下,開啟 (按一下右鍵) 函數的內容選單,然後選擇 Download (下載)。

  2. 如果系統要求 Select a workspace folder for your new project (為新專案選取工作空間資料夾),您可以執行以下其中一項操作:

    • 選擇建議的資料夾來建立與 Lambda 專案相同名稱的子資料夾。

    • 選擇 Select a different folder (選取其他資料夾) 開啟對話方塊,為您的專案子資料夾瀏覽並選取其他上層資料夾。

    會IDE開啟新的編輯器視窗。

設定已下載的 Lambda 函式,以便對其執行和除錯

您必須在launch.json 檔案 中定義啟動組態,才能執行做為無伺服器應用程式的 Lambda 函數並對其偵錯。在 中建立的 Lambda 函數 AWS Management Console 可能不會包含在啟動組態中。因此,您可能需要手動新增。

若要將 Lambda 函式新增至啟動組態

  1. 下載 Lambda 函數後,請開啟 Environment (環境) 視窗以檢視其資料夾和檔案。

  2. 然後,請檢查您的 Lambda 函式是否包含在/home/ec2-user/.c9/launch.json 檔案內。如果不存在,請執行下列動作,將 CodeLens 連結新增至函數的程式碼:

    1. 開啟定義 Lambda 函數的原始程式碼檔案 (例如 .js.py 檔案)。然後,檢查是否有可用於將 lambda 函數新增至launch.json檔案 CodeLens 的連結。 CodeLens 顯示在函數上方,並包含 Add Debug Config連結。

    2. 選擇 左側的 Go (放大鏡圖示)IDE,然後輸入「sam hint」以顯示AWS: Toggle SAM hints in source files命令。選擇該命令以執行它。

    3. 關閉 Lambda 原始碼檔案,然後重新開啟它。

    4. 如果重新開啟檔案後,原始程式碼中有 CodeLens 可用 ,請選擇Add Debug Config新增啟動組態。

  3. 如果您在切換SAM提示選項後 CodeLens 仍無法新增 ,請執行下列動作來新增啟動組態:

    1. 選擇 左側的 Go (放大鏡圖示)IDE,然後輸入「組態」以顯示 AWS: SAM Debug Configuration Editor 命令。選擇該命令以執行它。

    2. 將顯示SAM偵錯組態編輯器。您可以使用此編輯器來定義啟動組態屬性。如需詳細資訊,請參閱 使用 SAM 範本執行和偵錯無伺服器應用程式configuring launch properties 的步驟。

      注意

      如果您的 Lambda 函數沒有template.yaml適用於SAM應用程式的 ,則必須新增一個。如需詳細資訊,請參閱建立 AWS SAM範本。

    3. 在編輯器中輸入所需的組態資訊後,啟動組態就會新增至 launch.json 檔案。

定義了 Lambda 函數的啟動組態後,可以藉由以下操作來執行它:

  1. 在 頂端IDE,選擇 Auto 旁的箭頭,然後選擇相關的啟動組態。

  2. 然後選擇 Run (執行)。

上傳 Lambda 函式

您可以使用本機程式碼更新現有的 Lambda 函式。以此方式更新程式碼不會使用 AWS Serverless Application Model CLI進行部署,也不會建立 AWS CloudFormation 堆疊。如此一來,您可以使用 Lambda 支援的任何執行時間來上傳 Lambda 函數。

使用 AWS Toolkit 上傳 Lambda 函數有幾個介面選項。

  1. 在您專案檔案的 Environment (環境) 視窗中,在您要上傳的 Lambda 應用程式的 template.yaml 上按一下右鍵開啟內容選單,然後選擇 Upload Lambda (上傳 Lambda)。

    或是,按下 Ctrl+P 開啟 Go to Anything (移至任何項目) 窗格,然後輸入「lambda」以存取 AWS Upload Lambda ( 上傳 Lambda) 命令。然後選取它以開始上傳程序。

  2. 接下來,選取 AWS 區域 您要上傳的 。

  3. 現在選擇一個選項來上傳 Lambda 函式:

    上傳 .zip 存檔

    1. 從功能表中選擇ZIP封存

    2. 從檔案系統中選擇 .zip AWS Cloud9 檔案,然後選擇開啟

    直接上傳目錄

    1. 從選單中選擇 Directory (目錄)。

    2. 從 AWS Cloud9 檔案系統中選擇目錄,然後選擇開啟

  4. 指定用於處理事件的 Lambda 函式處理常式。當有人叫用您的函數時,Lambda 會執行此處理常式方法。

    注意

    選擇 Lambda 函式時,您可以從顯示的列表中進行選擇。如果您不知道要選擇哪個函數,則可以輸入 Toolkit 中可用的 Lambda 函數的 Amazon Resource Number (ARN)。

    出現一個對話框,詢問您是否要將此代碼作為 Lambda 函式的最新版本發佈。選擇 Yes (是) 以確認發佈。

    注意

    您也可以透過上層資料夾的內容功能表上傳 Lambda 應用程式,方法是在資料夾上按一下滑鼠右鍵開啟,然後選取 Upload Lambda (上傳 Lambda)。系統會自動選取上層資料夾進行上傳。

  1. AWS Explorer 中,以滑鼠右鍵按一下您要匯入的 Lambda 函數名稱,開啟內容選單。

  2. 選擇 Upload Lambda (上傳 Lambda)。

  3. 從三個選項中選擇要用於上傳 Lambda 函式的方式。

    上傳預先製作的 .zip 存檔

    1. 從功能表中選擇ZIP封存

    2. 從檔案系統中選擇 .zip AWS Cloud9 檔案,然後選擇開啟

    3. 透過強制回應對話方塊確認上傳。這個動作會直接上傳 .zip 文件,並在部署後立即更新 Lambda。

    直接上傳目錄

    1. 從選單中選擇 Directory (目錄)。

    2. 從 AWS Cloud9 檔案系統中選擇目錄,然後選擇開啟

    3. 在系統提示建置目錄時選擇 No (否)。

    4. 透過強制回應對話方塊確認上傳。這個動作會直接上傳目錄,並在部署後立即更新 Lambda。

    建置並上傳目錄

    1. 從選單中選擇 Directory (目錄)。

    2. 從 AWS Cloud9 檔案系統中選擇目錄,然後選擇開啟

    3. 在系統提示建置目錄時選擇 Yes (是)。

    4. 透過強制回應對話方塊確認上傳。這會使用 AWS SAM CLI sam build命令在 目錄中建置程式碼,並在部署後立即更新 Lambda。

部署用於遠端存取的 Lambda 函式

您可以將本機函數部署為無伺服器SAM應用程式,以遠端方式提供這些函數。

將 Lambda 函數部署為SAM應用程式

  1. AWS Explorer 中,開啟 Lambda 節點的內容 (按一下滑鼠右鍵) 選單,然後選擇部署SAM應用程式

  2. 在命令窗格中,選取將函數定義為無伺服器應用程式的YAML範本

  3. 接下來,選取要用於 Lambda 部署的 Amazon S3 儲存貯體。您也可以選擇建立用於部署的儲存貯體。

  4. 現在輸入您要部署的 AWS CloudFormation 堆疊名稱。如果指定現有堆疊,則命令會更新該堆疊。如果指定新的堆疊,則命令會加以建立。

    輸入堆疊的名稱後,Lambda 函數會開始部署為SAM應用程式。成功部署後,SAMLambda 應用程式可遠端使用。如此一來,您就可以從其他 AWS Cloud9 開發環境下載或叫用它。

如需從新開始建立 Lambda 函式,我們建議遵循 使用 AWS Toolkit 建立無伺服器應用程式 的步驟。

刪除 Lambda 函式

您也可以使用同一個內容選單 (按一下右鍵) 刪除 Lambda 函數。

警告

請勿使用此程序刪除與 AWS CloudFormation 相關聯的 Lambda 函數。例如,在本指南前述步驟中建立無伺服器應用程式時建立的 Lambda 函數。這些函式必須透過 AWS CloudFormation 堆疊刪除。

  1. AWS Explorer 中,選擇您要刪除的 Lambda 函數名稱,然後開啟 (按一下右鍵) 其內容選單。

  2. 選擇 刪除

  3. 在出現的訊息中,選擇 Yes (是),以確認刪除。

刪除函式後,該函數不會再列於 AWS Explorer 檢視中。