使用偵錯無伺服器應用程式AWSSAM Local - AWS Toolkit for Eclipse

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

使用偵錯無伺服器應用程式AWSSAM Local

本教學會逐步引導您使用 Toolkit for Eclipse 無伺服器應用程式專案進行偵錯。AWSSAM Local。SAM Local 是AWSCLI 工具,用於管理使用AWS無伺服器應用模型 (AWSSAM)。如需詳細資訊,請參閱 SAM Local README

先決條件

若要使用此教學課程,您必須先安 Toolkit for Eclipse、Docker 和AWS安裝 SAM Local。請參AWSSAM Local自述以取得 Docker 和 SAM Local 安裝説明。請參入門主題以取得安裝和設定 Toolkit for Eclipse 相關説明。

注意

若要使用 AWS for WordPressAWS,您的專案必須是具有有效 pom.xml 檔案的有效 Maven 專案。

在您安裝所需的工具後,請開啟 Eclipse偏好設定對話方塊中日食選單。設定 SAM Local Executable (SAM Local 可執行檔) 路徑,如下所示。這可讓 Toolkit for Eclipse 知道在哪裏可以找到您的 SAM Local 安裝。


            SAM Local 對話方塊

從 AWS CodeStar 匯入 SAM 應用程式

在本教學中,您需要一個在 AWS CodeStar 中的範例專案。請參在中創建無伺服器專案AWSCodeStar教學中AWS CodeStar 使用者指南以創建範例專案。

若要從 AWS CodeStar 匯入 SAM 應用程式

  1. 在 Eclipse 工具列上,開啟 Amazon Web Services 選單 (以AWS主頁圖標),然後選擇匯入AWSCodeStar 專案。或者,在 Eclipse 選單列上,選擇File (檔案)匯入AWSAWSCodeStar 專案

  2. 選擇已建立範例應用程式的區域。

  3. Project Name (專案名稱) 清單選擇您的範例專案。

  4. 新增您的 Git 登入資料。請參AWSCodeCommit 使用者指南以了解如何為 CodeCommit 取得 Git 登入資料。

    
                  SAM LocalAWSCodeStar 專案選擇對話方塊
  5. 選擇 Next (下一步)。

  6. Branch Selection (分支選擇) 頁面上,請選擇 Next (下一步)。

  7. Local Destination (本機目的地) 頁面上,選擇 Finish (完成)。

接著,您可以使用 Eclipse 中的 SAM Local,於本機對此無伺服器應用程式進行偵錯。

在本機對 Lambda 函數進行偵錯

為您的無伺服器應用程式建立偵錯設定,並使用 SAM Local 在本機中執行應用程式。

對 Lambda 函數進行偵錯

  1. 在 Eclipse Project Explorer(專案總管) 中,開啟 HelloWorldHandler.java

  2. 在 Eclipse 程式碼視窗中按一下滑鼠右鍵,選擇偵錯工具,然後選擇AWSSAM Local

    
                  SAM Local 偵錯對話方塊
  3. 在此範例中,請將 Project (專案)Template (範本) 維持原樣。

  4. Run as (執行身分) 欄位中,選擇 Lambda Function (Lambda 函數)。

  5. Function identifier (函數識別) 欄位中,選擇 GetHelloWorld

  6. 在這個範例中,我們將提供 Amazon S3 事件。選擇在 Event (事件) 輸入方塊旁邊的 Generate (產生)。

    
                  SAM Local 偵錯對話方塊
  7. 選擇一個有您 Amazon S3 儲存儲體的區域。

  8. 輸入有效 Amazon S3 儲存儲體名稱。

  9. 輸入有效 Amazon S3 數據元密鑰,然後選擇確定

  10. Save As (另存新檔) 頁面,選擇目前的專案,然後為事件檔案輸入名稱。在這個範例中,我們使用 s3-event.json

    
                  SAM Local 偵錯對話方塊
  11. 選擇 OK (確定) 以儲存事件檔案並回到主要對話方塊中。

  12. 保留進階設定。請參閱進階設定以進一步了解這些欄位。

  13. 選擇 Apply (套用),然後選擇 Debug (偵錯)。

這會在本機執行 Lambda 函數。您可以設定一個如其他應用程式般的中斷點,用來為程式碼偵錯。

本地測試 API Gateway

您也可以用 SAM Local 測試 HTTP 請求/回應功能。

在本機測試 API Gateway

  1. 在 Eclipse 程式碼視窗中按一下滑鼠右鍵,選擇 Debug As (偵錯工具)Debug Configuration (偵錯設定)

    
                  SAM Local 偵錯對話方塊
  2. 為此次執行建立一個新的偵錯組態,並改為其他名稱。

  3. Run as (執行身分) 欄位中,選擇 API Gateway

  4. 保留其他欄位,您的設定組態應該會像下方所示。

    
                  SAM Local 偵錯對話方塊
  5. 選擇 Apply (套用),然後選擇 Debug (偵錯)。

這會產生一個本機 API gateway,可用來測試您的應用程式。偵錯輸出將包含 HTTP 連結,可用來驗證您程式碼的請求/回應功能。


            SAM Local api gateway 偵錯輸出範例

進階設定

本節說明在 SAM Local 偵錯組態頁面中可用的進階選項。


            SAM Local 偵錯對話方塊進階選項

AWS 組態

選取設定檔

(必要) 使用的配置式AWS登入資料。

(預設值) 預設值設定檔

選擇區域

(必要) 應用程式所部署的區域。

(預設值) 美國東部 (維吉尼亞)

SAM Local 組態

Maven 目標

(必要) 在建立應用程式時以 Maven 目標來執行。如果預設值無法產生包括所有相依性的 Jar 檔案 (大量 Jar) 時,您必須自訂這些目標。請參閱 Maven 專案中的 Maven Shade 外掛程式以了解如何使用外掛程式建立大量 Jar。

(預設值) 清理套件

SAM 執行時間

(必要) 至 SAM 可執行檔的路徑。

(預設值) /usr/local/bin/sam

偵錯連接埠

(必要) Eclipse 偵錯工具用以連接到 SAM Local 的連接埠。

(預設值) 5858

vars 環境

(選用) 到包含 Lambda 函數所使用的環境變量值的 JSON 檔案的路徑。請參閱《SAM Local 使用者指南》中的環境變數檔案,以了解此檔案所需的語法。

(預設值) 空值

Lambda 函數組態

程式碼 URI

(選用) 至程式碼封存檔案的路徑。對於此頁面上的範例,是連往 .jar 檔案的路徑。

(預設值) 至 template.yml 檔案的路徑

逾時

(必要) Lambda 函數執行時間超時。

(預設值) 300

詳細資訊

如需有關 的詳細資訊AWSSAM 本地信息,請參閲AWSSAM Local用户指南。如需的詳細資訊AWS請參無伺服器應用模型 (SAM),請參AWSSAM項 GitHub。