次の方法で共有


Azure Service Bus エミュレータを使用してローカルでテストする

この記事では、Azure Service Bus エミュレータを使用して、ローカルで開発およびテストする手順をまとめます。

前提条件

Note

この記事の手順に進む前に、Docker Desktop がバックグラウンドで動作することを確認してください。

エミュレーターを実行する

Service Bus エミュレータを実行するには、自動化されたスクリプトまたは Linux コンテナーを使用できます。

自動スクリプトを実行する前に、エミュレーターの GitHub インストーラー リポジトリをローカルに複製します。

Windows

Windows で Service Bus エミュレータをローカルで実行するには、次の手順に従います。

  1. PowerShell ウィンドウで次のコマンドを実行して、署名されていないスクリプトの実行を許可します。

    $>Start-Process powershell -Verb RunAs -ArgumentList 'Set-ExecutionPolicy Bypass –Scope CurrentUser'

  2. セットアップ スクリプト LaunchEmulator.ps1 を実行します。 このスクリプトを実行すると、Service Bus エミュレータと SQL Edge (エミュレータの依存関係) の 2 つのコンテナーが表示されます。

Linux と macOS

Linux または macOS で Service Bus エミュレータをローカルで実行するには、次の手順に従います。

  • セットアップ スクリプト LaunchEmulator.sh を実行します。このスクリプトを実行すると、Service Bus エミュレータと SQL Edge (エミュレータの依存関係) の 2 つのコンテナーが表示されます。

この手順が成功すると、Docker で実行されているコンテナーが見つかります。

コンテナーで実行されている Service Bus エミュレータを示すスクリーンショット。

エミュレーターを操作する

既定では、エミュレータは config.json 構成ファイルを使用します。 構成ファイルに変更を加えることで、エンティティを構成できます。 詳細については、「構成を変更する」を参照してください

次の接続文字列を使用して、Service Bus エミュレータに接続できます。

  • エミュレータ コンテナーと対話するアプリケーションがローカル コンピューター上でネイティブに実行されている場合は、次の接続文字列を使用します。
"Endpoint=sb://localhost;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • 異なるコンピューターと同じローカル ネットワーク上のアプリケーション (コンテナー化/非コンテナー化) は、そのコンピューターの IPv4 アドレスを使用してエミュレータと対話できます。 次の接続文字列を使用します。
"Endpoint=sb://192.168.y.z;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • 同じブリッジ ネットワーク上のアプリケーション コンテナーは、そのエイリアスまたは IP を使用してエミュレータと対話できます。 次の接続文字列は、エミュレータ コンテナーの名前が "servicebus-emulator" であることを前提としています。
"Endpoint=sb://servicebus-emulator;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • 異なるブリッジ ネットワーク上のアプリケーション コンテナーは、ホストとして "host.docker.internal" を使用してエミュレータと対話できます。 次の接続文字列を使用します。
"Endpoint=sb://host.docker.internal;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"

最新のクライアント SDK を使用して、さまざまなプログラミング言語で Service Bus エミュレータを操作できます。 開始するには、GitHub の Service Bus エミュレータのサンプルを参照してください。

Azure Service Bus エミュレータの概要