本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
雲端測試簡介 sam remote test-event
使用指 AWS Serverless Application Model 令行介面 (AWS SAM CLI) sam remote test-event
指令可存取和管理 AWS Lambda 函數的可共用測試事件。
若要進一步了解可共用的測試事件,請參閱AWS Lambda 開發人員指南中的可共用測試事件。
若要使用sam remote test-event
,請完成下列 AWS SAMCLI步驟來安裝:
如果您已經 AWS SAM CLI安裝了,我們建議您升級到最新版本的 AWS SAMCLI版本。如需進一步了解,請參閱升級 AWS SAMCLI。
使用前sam remote test-event
,我們建議對以下內容進行基本了解:
設定 AWS SAMCLI要使用 sam remote test-event
完成下列設定步驟以使用 AWS SAM CLIsam remote test-event
指令:
-
設定 AWS SAM CLI為使用您的 AWS 帳戶— Lambda 的可共用測試事件可由相同 AWS 帳戶的使用者存取和管理。若要將設定 AWS SAM CLI為使用您的 AWS 帳戶,請參閱配置 AWS SAMCLI。
-
設定可共用測試事件的權限 — 若要存取和管理可共用的測試事件,您必須擁有適當的權限。若要深入了解,請參閱AWS Lambda 開發人員指南中的可共用測試事件。
使用指sam remote test-event令
該 AWS SAM CLIsam remote test-event
命令提供了以下子命令,您可以用來訪問和管理可共享的測試事件:
-
delete
— 從 Amazon EventBridge 架構登錄檔中刪除可共用的測試事件。 -
get
— 從 EventBridge 結構描述登錄檔取得可共用的測試事件。 -
list
— 從 EventBridge 結構描述登錄中列出函數的現有可共用測試事件。 -
put
— 將事件從本機檔案儲存至 EventBridge 結構描述登錄。
若要使用列出這些子命令 AWS SAM CLI,請執行下列命令:
$
sam remote test-event --help
刪除可共享的測試事件
您可以使用子命令和以delete
下命令來刪除可共享的測試事件:
-
提供要刪除的可共用測試事件的名稱。
-
提供與事件相關聯之 Lambda 函數的可接受識別碼。
-
如果您提供 Lambda 函數邏輯 ID,則還必須提供與 Lambda 函數相關聯的 AWS CloudFormation 堆疊名稱。
以下是範例:
$
sam remote test-event delete
HelloWorldFunction
--stack-namesam-app
--namedemo-event
若要取得與delete
子指令搭配使用的選項清單,請參閱〈〉sam remote test-event delete。您也可以從以下位置執行下列命令 AWS SAM CLI:
$
sam remote test-event delete --help
取得可共用的測試事件
您可以使用子命令以及get
下列命令,從結 EventBridge 構描述登錄檔取得可共用的測試事件:
-
提供要取得之可共用測試事件的名稱。
-
提供與事件相關聯之 Lambda 函數的可接受識別碼。
-
如果您提供 Lambda 函數邏輯 ID,則還必須提供與 Lambda 函數相關聯的 AWS CloudFormation 堆疊名稱。
下列範例會取得名為demo-event
與sam-app
堆疊的 HelloWorldFunction
Lambda 函數相關聯的可共用測試事件。此命令會將事件打印到您的控制台。
$
sam remote test-event get
HelloWorldFunction
--stack-namesam-app
--namedemo-event
若要取得可共用的測試事件並將其儲存至本機電腦,請使用選--output-file
項並提供檔案路徑和名稱。以下是在目前工作目錄demo-event.json
中另存demo-event
為的範例:
$
sam remote test-event get
HelloWorldFunction
--stack-namesam-app
--namedemo-event
--output-filedemo-event.json
若要取得與get
子指令搭配使用的選項清單,請參閱〈〉sam remote test-event get。您也可以從以下位置執行下列命令 AWS SAM CLI:
$
sam remote test-event get --help
列出可共享的測試事件
您可以從結構描述登錄列出特定 Lambda 函數的所有可共用測試事件。使用list
子指令以及下列項目:
-
提供與事件相關聯之 Lambda 函數的可接受識別碼。
-
如果您提供 Lambda 函數邏輯 ID,則還必須提供與 Lambda 函數相關聯的 AWS CloudFormation 堆疊名稱。
以下是取得與堆疊 HelloWorldFunction
Lambda 函數相關聯的所有可共用測試事件清單的sam-app
範例:
$
sam remote test-event list
HelloWorldFunction
--stack-namesam-app
若要取得與list
子指令搭配使用的選項清單,請參閱〈〉sam remote test-event list。您也可以從以下位置執行下列命令 AWS SAM CLI:
$
sam remote test-event list --help
儲存可共用的測試事件
您可以將可共用的測試事件儲存至 EventBridge 結構描述登錄。使用put
子指令以及下列項目:
-
提供與可共用測試事件相關聯之 Lambda 函數的可接受識別碼。
-
提供可共用測試事件的名稱。
-
提供要上載之本機事件的檔案路徑和名稱。
下列範例會將本機demo-event.json
事件另存為,demo-event
並將其與sam-app
堆疊的 HelloWorldFunction
Lambda 函數產生關聯:
$
sam remote test-event put
HelloWorldFunction
--stack-namesam-app
--namedemo-event
--filedemo-event.json
如果 EventBridge 結構描述登錄中存在具有相同名稱的可共用測試事件, AWS SAM CLI將不會覆寫它。若要覆寫,請將選--force
項新增至您的指令。
若要取得與put
子指令搭配使用的選項清單,請參閱〈〉sam remote test-event put。您也可以從以下位置執行下列命令 AWS SAM CLI:
$
sam remote test-event put --help
使用可共享的測試事件
使用可共用的測試事件, AWS 雲端 透過sam remote invoke
命令在中測試您的 Lambda 函數。如需進一步了解,請參閱將可共用的測試事件傳遞至雲端中的 Lambda 函數。
管理可共用的測試事件
本主題包含如何管理和使用可共用測試事件的範例。
獲取可共享的測試事件,對其進行修改並使用
您可以從 EventBridge 結構描述登錄檔取得可共用的測試事件、在本機修改該事件,然後將本機測試事件與中的 Lambda 函數搭配使用。 AWS 雲端以下是範例:
-
擷取可共用的測試事件 — 使用
sam remote test-event get
子命令擷取特定 Lambda 函數的可共用測試事件,並將其儲存在本機:$
sam remote test-event get
HelloWorldFunction
--stack-namesam-app
--namedemo-event
--output-filedemo-event.json
-
修改可共用的測試事件 — 使用您選擇的文字編輯器來修改可共用的測試事件。
-
使用可共用的測試事件 — 使用
sam remote invoke
指令,並提供事件的檔案路徑和名稱:--event-file
$
sam remote invoke
HelloWorldFunction
--stack-namesam-app
--event-filedemo-event.json
取得可共用的測試事件、修改、上傳並使用
您可以從 EventBridge 結構描述登錄檔取得可共用的測試事件,在本機修改並上傳。然後,您可以將可共用的測試事件直接傳遞給. AWS 雲端以下是範例:
-
擷取可共用的測試事件 — 使用
sam remote test-event get
子命令擷取特定 Lambda 函數的可共用測試事件,並將其儲存在本機:$
sam remote test-event get
HelloWorldFunction
--stack-namesam-app
--namedemo-event
--output-filedemo-event.json
-
修改可共用的測試事件 — 使用您選擇的文字編輯器來修改可共用的測試事件。
-
上傳可共用的測試事件 — 使用
sam remote test-event put
子命令將可共用的測試事件上傳並儲存至結構描述 EventBridge 登錄。在此範例中,我們使用--force
選項覆寫可共用測試的舊版本:$
sam remote test-event put
HelloWorldFunction
--stack-namesam-app
--namedemo-event
--filedemo-event.json
--force -
將可共用的測試事件傳遞至 Lambda 函數 — 使用
sam remote invoke
命令將可共用的測試事件直接傳遞給 Lambda 函數,位於下列位置: AWS 雲端$
sam remote invoke
HelloWorldFunction
--stack-namesam-app
--test-event-namedemo-event