

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# sam remote test-event を使用したクラウドテストの概要
<a name="using-sam-cli-remote-test-event"></a>

 AWS Serverless Application Model コマンドラインインターフェイス (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>

`sam remote test-event` コマンドを使用するには、以下のセットアップステップを実行します AWS SAM CLI。

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>

 AWS SAM CLI `sam remote test-event` コマンドには、共有可能なテストイベントにアクセスして管理するために使用できる以下のサブコマンドが用意されています。
+ `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 スタック名も指定する必要があります。

以下は、`sam-app` スタックの `HelloWorldFunction` Lambda 関数に関連付けられた `demo-event` という名前の共有可能なテストイベントを取得する例です。このコマンドでは、イベントをコンソールに出力します。

```
$ 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>

共有可能なテストイベントを使用して、 `sam remote invoke` コマンド AWS クラウド を使用して で 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 スキーマレジストリから共有可能なテストイベントを取得してローカルで変更し、そのローカルテストイベントを AWS クラウドの Lambda 関数で使用できます。以下に例を示します。

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 スキーマレジストリから共有可能なテストイベントを取得し、ローカルで変更してアップロードできます。その後、共有可能なテストイベントを AWS クラウドの Lambda 関数に直接渡すことができます。以下に例を示します。

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` コマンドを使用して、共有可能なテストイベントを AWS クラウドの Lambda 関数に直接渡します。

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