

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

# 使用 進行雲端測試的簡介 sam remote test-event
<a name="using-sam-cli-remote-test-event"></a>

使用 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam remote test-event`命令來存取和管理 AWS Lambda 函數的可共用測試事件。

若要進一步了解可共用測試事件，請參閱《 *AWS Lambda 開發人員指南*》中的[可共用測試事件](https://docs.aws.amazon.com/lambda/latest/dg/testing-functions.html#creating-shareable-events)。

**Topics**
+ [設定 AWS SAM CLI以使用 sam remote test-event](#using-sam-cli-remote-test-event-setup)
+ [使用 sam remote test-event命令](#using-sam-cli-remote-test-event-use)
+ [使用可共用的測試事件](#using-sam-cli-remote-test-event-invoke)
+ [管理可共用的測試事件](#using-sam-cli-remote-test-event-manage)

## 先決條件
<a name="using-sam-cli-remote-test-event-prerequisites"></a>

若要使用 `sam remote test-event`，請完成下列步驟來 AWS SAM CLI安裝 ：
+ [AWS SAM 先決條件](prerequisites.md).
+ [安裝 AWS SAM CLI](install-sam-cli.md).

如果您已安裝 AWS SAM CLI，建議您升級至最新版本的 AWS SAM CLI版本。如需詳細資訊，請參閱 [升級 AWS SAM CLI](manage-sam-cli-versions.md#manage-sam-cli-versions-upgrade)。

在使用 之前`sam remote test-event`，我們建議您對以下內容有基本的了解：
+ [設定 AWS SAM CLI](using-sam-cli-configure.md).
+ [在 中建立您的應用程式 AWS SAM](using-sam-cli-init.md).
+ [使用 建置 簡介 AWS SAM](using-sam-cli-build.md).
+ [使用 部署簡介 AWS SAM](using-sam-cli-deploy.md).
+ [使用 sam sync 同步至 的簡介 AWS 雲端](using-sam-cli-sync.md).

## 設定 AWS SAM CLI以使用 sam remote test-event
<a name="using-sam-cli-remote-test-event-setup"></a>

完成下列設定步驟以使用 AWS SAM CLI`sam remote test-event`命令：

1. **設定 AWS SAM CLI以使用您的 AWS 帳戶** – Lambda 的可共用測試事件可由相同 中的使用者存取和管理 AWS 帳戶。若要設定 AWS SAM CLI以使用您的 AWS 帳戶，請參閱 [設定 AWS SAM CLI](using-sam-cli-configure.md)。

1. **設定可共用測試事件的許可** – 若要存取和管理可共用測試事件，您必須擁有適當的許可。若要進一步了解，請參閱《 *AWS Lambda 開發人員指南*》中的[可共用測試事件](https://docs.aws.amazon.com/lambda/latest/dg/testing-functions.html#creating-shareable-events)。

## 使用 sam remote test-event命令
<a name="using-sam-cli-remote-test-event-use"></a>

`sam remote test-event` 命令 AWS SAM CLI提供下列子命令，您可以使用這些子命令來存取和管理可共用的測試事件：
+ `delete` – 從 Amazon EventBridge 結構描述登錄檔中刪除可共用的測試事件。
+ `get` – 從 EventBridge 結構描述登錄檔取得可共用的測試事件。
+ `list` – 從 EventBridge 結構描述登錄檔列出函數的現有可共用測試事件。
+ `put` – 將事件從本機檔案儲存至 EventBridge 結構描述登錄檔。

若要使用 列出這些子命令 AWS SAM CLI，請執行下列動作：

```
$ sam remote test-event --help
```

### 刪除可共用的測試事件
<a name="using-sam-cli-remote-test-event-use-delete"></a>

您可以使用 `delete`子命令以及下列項目來刪除可共用的測試事件：
+ 提供要刪除的可共用測試事件的名稱。
+ 提供與事件相關聯的 Lambda 函數可接受的 ID。
+ 如果您要提供 Lambda 函數邏輯 ID，您還必須提供與 Lambda 函數相關聯的 AWS CloudFormation 堆疊名稱。

以下是範例：

```
$ sam remote test-event delete HelloWorldFunction --stack-name sam-app --name demo-event
```

如需搭配 `delete`子命令使用的選項清單，請參閱 [sam remote test-event delete](sam-cli-command-reference-remote-test-event-delete.md)。您也可以從 執行下列項目 AWS SAM CLI：

```
$ sam remote test-event delete --help
```

### 取得可共用的測試事件
<a name="using-sam-cli-remote-test-event-use-get"></a>

您可以使用 `get`子命令以及下列項目，從 EventBridge 結構描述登錄檔取得可共用的測試事件：
+ 提供要取得的可共用測試事件的名稱。
+ 提供與事件相關聯的 Lambda 函數可接受的 ID。
+ 如果您要提供 Lambda 函數邏輯 ID，您還必須提供與 Lambda 函數相關聯的 AWS CloudFormation 堆疊名稱。

以下是取得名為 `demo-event` 且與`sam-app`堆疊的 `HelloWorldFunction` Lambda 函數相關聯的可共用測試事件的範例。此命令會將事件列印到您的主控台。

```
$ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event
```

若要取得可共用的測試事件並將其儲存至本機電腦，請使用 `--output-file`選項並提供檔案路徑和名稱。以下是將 另存`demo-event`為`demo-event.json`目前工作目錄中的範例：

```
$ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
```

如需搭配 `get`子命令使用的選項清單，請參閱 [sam remote test-event get](sam-cli-command-reference-remote-test-event-get.md)。您也可以從 執行下列項目 AWS SAM CLI：

```
$ sam remote test-event get --help
```

### 列出可共用的測試事件
<a name="using-sam-cli-remote-test-event-use-list"></a>

您可以從結構描述登錄檔列出特定 Lambda 函數的所有可共用測試事件。使用 `list`子命令以及下列項目：
+ 提供與事件相關聯的 Lambda 函數可接受的 ID。
+ 如果您要提供 Lambda 函數邏輯 ID，您還必須提供與 Lambda 函數相關聯的 CloudFormation 堆疊名稱。

以下是取得與`sam-app`堆疊的 `HelloWorldFunction` Lambda 函數相關聯的所有可共用測試事件清單的範例：

```
$ sam remote test-event list HelloWorldFunction --stack-name sam-app
```

如需搭配 `list`子命令使用的選項清單，請參閱 [sam remote test-event list](sam-cli-command-reference-remote-test-event-list.md)。您也可以從 執行下列項目 AWS SAM CLI：

```
$ sam remote test-event list --help
```

### 儲存可共用的測試事件
<a name="using-sam-cli-remote-test-event-use-put"></a>

您可以將可共用的測試事件儲存到 EventBridge 結構描述登錄檔。使用 `put`子命令以及下列項目：
+ 提供與可共用測試事件相關聯的 Lambda 函數可接受的 ID。
+ 提供可共用測試事件的名稱。
+ 將檔案路徑和名稱提供給要上傳的本機事件。

以下範例會將本機`demo-event.json`事件儲存為 ，`demo-event`並將其與`sam-app`堆疊的 `HelloWorldFunction` Lambda 函數建立關聯：

```
$ sam remote test-event put HelloWorldFunction --stack-name sam-app --name demo-event --file demo-event.json
```

如果 EventBridge 結構描述登錄檔中存在同名的可共用測試事件，則 AWS SAM CLI不會覆寫它。若要覆寫，請將 `--force`選項新增至您的命令。

如需搭配 `put`子命令使用的選項清單，請參閱 [sam remote test-event put](sam-cli-command-reference-remote-test-event-put.md)。您也可以從 執行下列項目 AWS SAM CLI：

```
$ sam remote test-event put --help
```

## 使用可共用的測試事件
<a name="using-sam-cli-remote-test-event-invoke"></a>

使用可共用的測試事件， AWS 雲端 透過 `sam remote invoke`命令在 中測試 Lambda 函數。如需詳細資訊，請參閱 [將可共用的測試事件傳遞至雲端中的 Lambda 函數](using-sam-cli-remote-invoke.md#using-sam-cli-remote-invoke-shareable)。

## 管理可共用的測試事件
<a name="using-sam-cli-remote-test-event-manage"></a>

本主題包含如何管理和使用可共用測試事件的範例。

### 取得可共用的測試事件、修改並加以使用
<a name="using-sam-cli-remote-test-event-manage-example1"></a>

您可以從 EventBridge 結構描述登錄檔取得可共用的測試事件，在本機進行修改，並在 中使用本機測試事件與 Lambda 函數 AWS 雲端。以下是範例：

1. **擷取可共用測試事件** – 使用 `sam remote test-event get`子命令擷取特定 Lambda 函數的可共用測試事件，並將其儲存在本機：

   ```
   $ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
   ```

1. **修改可共用測試事件** – 使用您選擇的文字編輯器來修改可共用測試事件。

1. **使用可共用的測試事件** – 使用 `sam remote invoke`命令，並使用 提供事件的檔案路徑和名稱`--event-file`：

   ```
   $ sam remote invoke HelloWorldFunction --stack-name sam-app --event-file demo-event.json
   ```

### 取得可共用的測試事件、修改、上傳和使用
<a name="using-sam-cli-remote-test-event-manage-example2"></a>

您可以從 EventBridge 結構描述登錄檔取得可共用的測試事件，在本機進行修改並上傳。然後，您可以將可共用的測試事件直接傳遞至 中的 Lambda 函數 AWS 雲端。以下是範例：

1. **擷取可共用測試事件** – 使用 `sam remote test-event get`子命令擷取特定 Lambda 函數的可共用測試事件，並將其儲存在本機：

   ```
   $ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
   ```

1. **修改可共用測試事件** – 使用您選擇的文字編輯器來修改可共用測試事件。

1. **上傳可共用測試事件** – 使用 `sam remote test-event put`子命令將可共用測試事件上傳並儲存到 EventBridge 結構描述登錄檔。在此範例中，我們使用 `--force`選項覆寫可共用測試的較舊版本：

   ```
   $ sam remote test-event put HelloWorldFunction --stack-name sam-app --name demo-event --file demo-event.json --force
   ```

1. **將可共用測試事件傳遞至 Lambda 函數** – 使用 `sam remote invoke`命令將可共用測試事件直接傳遞至 中的 Lambda 函數 AWS 雲端：

   ```
   $ sam remote invoke HelloWorldFunction --stack-name sam-app --test-event-name demo-event
   ```