を使用したクラウドテストの概要 sam remote test-event - AWS Serverless Application Model

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

を使用したクラウドテストの概要 sam remote test-event

AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) sam remote test-event コマンドを使用して、 AWS Lambda 関数の共有可能なテストイベントにアクセスして管理します。

共有可能なテストイベントの詳細については、「AWS Lambda デベロッパーガイド」の「共有可能なテストイベント」を参照してください。

sam remote test-event を使用するには、次を実行して AWS SAM CLI をインストールします。

が既にインストールされている場合は AWS SAM CLI、最新バージョンにアップグレードすることをお勧めします AWS SAMCLI。詳細については、「AWS SAM CLI のアップグレード」を参照してください。

sam remote test-event を使用する前に、次の基本を理解しておくことをお勧めします。

AWS SAM CLI で sam remote test-event を使用するようにセットアップする

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

  1. を使用するように を設定する AWS SAM CLI AWS アカウント — Lambda の共有可能なテストイベントは、同じ 内のユーザーがアクセスおよび管理できます AWS アカウント。を使用するように AWS SAM CLI を設定するには、 AWS アカウント「」を参照してくださいAWS SAM CLI の設定

  2. 共有可能なテストイベントのアクセス許可を設定する — 共有可能なテストイベントにアクセスして管理するには、適切なアクセス許可が必要です。詳細については、「AWS Lambda デベロッパーガイド」の「共有可能なテストイベント」を参照してください。

sam remote test-event コマンドの使用

AWS SAM CLI sam remote test-event コマンドには、共有可能なテストイベントにアクセスして管理するために使用できる以下のサブコマンドが用意されています。

  • delete — Amazon EventBridge スキーマレジストリから共有可能なテストイベントを削除します。

  • get – EventBridge スキーマレジストリから共有可能なテストイベントを取得します。

  • list – EventBridge スキーマレジストリから関数の既存の共有可能なテストイベントを一覧表示します。

  • put – ローカルファイルから EventBridge スキーマレジストリにイベントを保存します。

を使用してこれらのサブコマンドを一覧表示するには AWS SAM CLI、以下を実行します。

$ sam remote test-event --help

共有可能なテストイベントを削除する

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」を参照してください。から以下を実行することもできます AWS SAM CLI。

$ sam remote test-event delete --help

共有可能なテストイベントを取得する

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-eventdemo-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」を参照してください。から以下を実行することもできます AWS SAM CLI。

$ sam remote test-event get --help

共有可能なテストイベントを一覧表示する

スキーマレジストリから、特定の Lambda 関数のすべての共有可能なテストイベントを一覧表示できます。list サブコマンドを以下と併せて使用します。

  • イベントに関連付けられた Lambda 関数の許容可能な ID を指定します。

  • Lambda 関数の論理 ID を指定する場合は、Lambda 関数に関連付けられた AWS CloudFormation スタック名も指定する必要があります。

以下は、sam-app スタックの HelloWorldFunction Lambda 関数に関連付けられたすべての共有可能なテストイベントのリストを取得する例です。

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

list サブコマンドで使用するオプションのリストについては、「sam remote test-event list」を参照してください。から以下を実行することもできます AWS SAM CLI。

$ sam remote test-event list --help

共有可能なテストイベントを保存する

共有可能なテストイベントを 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」を参照してください。から以下を実行することもできます AWS SAM CLI。

$ sam remote test-event put --help

共有可能なテストイベントを使用する

共有可能なテストイベントを使用して、 sam remote invoke コマンド AWS クラウド を使用して で Lambda 関数をテストします。詳細については、「共有可能なテストイベントをクラウド内の Lambda 関数に渡す」を参照してください。

共有可能なテストイベントを管理する

このトピックには、共有可能なテストイベントを管理および使用する方法の例が含まれています。

共有可能なテストイベントを取得、変更、使用する

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
  2. 共有可能なテストイベントを変更する — 任意のテキストエディタを使用して、共有可能なテストイベントを変更します。

  3. 共有可能なテストイベントを使用するsam remote invoke コマンドを使用して、--event-file でイベントのファイルパスと名前を指定します。

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

共有可能なテストイベントを取得し、変更、アップロード、使用する

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
  2. 共有可能なテストイベントを変更する — 任意のテキストエディタを使用して、共有可能なテストイベントを変更します。

  3. 共有可能なテストイベントをアップロードする – 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
  4. 共有可能なテストイベントを Lambda 関数に渡すsam remote invoke コマンドを使用して、共有可能なテストイベントを AWS クラウドの Lambda 関数に直接渡します。

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