Azure Service Bus を使用すると、送信側と受信側のクライアント アプリケーションは、使い慣れたポイントツーポイント (キュー) および発行とサブスクライブ (トピックサブスクリプション) セマンティクスを使用してビジネス ロジックを分離できます。
注
この記事では、Azure portal の一部である Azure Service Bus Explorer の機能について説明します。
コミュニティが所有するオープンソースの Service Bus Explorer はスタンドアロン アプリケーションであり、これとは異なるものです。
Azure Service Bus 名前空間に対して実行される操作は 2 種類あります。
- 管理操作 - Service Bus 名前空間、キュー、トピック、およびサブスクリプションの作成、更新、削除。
- データ操作 - キュー、トピック、サブスクリプションとの間のメッセージの送受信。
重要
- Service Bus Explorer では、管理操作とセッションはサポートされていません。
- メッセージ サイズや、クライアントと Service Bus サービス間のネットワーク待機時間などによってはタイムアウトになる場合があるため、より大きなメッセージに Service Bus Explorer を使用しないことをお勧めします。代わりに、独自のタイムアウト値を指定できる独自のクライアントを使用して、より大きなメッセージを操作することをお勧めします。
- Service Bus 名前空間がプライベート エンドポイント経由でのみアクセス可能な場合、プライベート エンドポイントを持つ仮想ネットワーク内のホストで Web ブラウザーを実行し、ネットワーク セキュリティ ゲートウェイ (NSG) が存在しないことを確認する必要があります。
- ユーザーが名前空間ではなくエンティティにのみアクセスできる場合、Service Bus Explorer は、Premium レベルまたはメタデータのディザスター リカバリーへの移行に関連するシナリオでは期待どおりに機能しない可能性があります。
前提条件
Service Bus Explorer ツールを使用するには、次のタスクを実行する必要があります。
メッセージを送受信するためのキューや、機能をテストするためのトピックとサブスクリプションを作成します。 キュー、トピック、およびサブスクリプションを作成する方法については、次の記事を参照してください。
注
送受信 (ピークおよび消去を含む) 操作を実行する名前空間またはエンティティで、次のいずれかのロールのメンバーであることを確認してください。
- Service Bus データ所有者: 送受信操作の両方を許可します。
- Service Bus データ送信者: 送信操作を許可します。
- Service Bus データ受信者: 受信操作を許可します。
Service Bus Explorer を使用する
Service Bus Explorer を使用するには、データ操作を行う Service Bus 名前空間に移動します。
キューに対して操作を実行する場合は、ナビゲーション メニューから[キュー] を選択します。 トピック (とそれに関連するサブスクリプション) に対して操作を実行する場合は、[トピック] を選択します。
[キュー] または [トピック] を選択した後、特定のキューまたはトピックを選択します。
左側のナビゲーション メニューで [Service Bus エクスプローラー] を選びます
注
パブリック アクセスが無効になっている名前空間内のエンティティの Service Bus Explorer に移動すると、プライベート エンドポイントと同じ仮想ネットワーク内の仮想マシンからアクセスした場合でも、次のメッセージが表示されます。 これは無視できます。
"名前空間ではパブリック ネットワーク アクセスが無効になっています。 すべてのネットワークに切り替えるか、選択したネットワーク内のクライアント IP を許可リストに載せるまで、この Service Bus エンティティに対するクイック表示、送信、受信などのデータ操作は機能しません。"
メッセージをクイック表示する
ピーク機能を使用すると、Service Bus Explorer を使用してキュー、サブスクリプション、またはデッドレターキューの上位 100 個のメッセージを表示できます。
メッセージをクイック表示するには、Service Bus Explorer のドロップダウンで [クイック表示モード] を選択します。
メトリックを調べて、アクティブ メッセージまたはデッドレター メッセージがあるかどうかを確認し、キュー / サブスクリプション または デッドレター サブキューを選択します。
[最初からクイック表示] ボタンを選択します。
ピーク操作が完了すると、次の画像のように最大 100 個のメッセージがグリッドに表示されます。 特定のメッセージの詳細を表示するには、グリッドから選択します。 本文またはメッセージのプロパティの表示を選択できます。
下のペインの [メッセージ プロパティ] タブに切り替えて、メタデータを表示します。
注
クイック表示は破壊的な操作ではないため、メッセージはエンティティから削除されません。
詳細オプションを使用してメッセージをクイック表示する
クイック表示機能のオプションを使用すると、Service Bus Explorer を使用してキュー、サブスクリプション、または配信不能キューの上位のメッセージを表示し、クイック表示するメッセージの数と、クイック表示操作を開始するシーケンス番号を指定できます。
詳細オプションを使用してメッセージをクイック表示するには、Service Bus Explorer のドロップダウンで [クイック表示モード] を選択します。
メトリックを調べて、アクティブ メッセージまたはデッドレター メッセージがあるかどうかを確認し、キュー / サブスクリプション または デッドレター サブキューを選択します。
[オプションを指定してクイック表示] ボタンを選択します。 クイック表示するメッセージの数と、クイック表示を開始するシーケンス番号を指定して、[クイック表示する] ボタンを選択します。
ピーク操作が完了すると、次の画像のようにメッセージがグリッドに表示されます。 特定のメッセージの詳細を表示するには、グリッドから選択します。 本文またはメッセージのプロパティの表示を選択できます。
下のペインの [メッセージ プロパティ] タブに切り替えて、メタデータを表示します。
注
クイック表示は破壊的な操作ではないため、メッセージはキューから削除されません。
メッセージを受信する
Service Bus Explorer の受信機能を使用すると、キューまたはサブスクリプションからメッセージを受信できます。
メッセージをクイック表示するには、Service Bus Explorer のドロップダウンで [Receive Mode](受信モード) を選択します。
メトリックを調べて、受信するアクティブ メッセージまたは配信不能メッセージがあるかどうかを確認し、[キュー/サブスクリプション] または [配信不能] を選びます。
[メッセージの受信] ボタンを選択し、受信モード、受信するメッセージの数、メッセージを待機する最大時間を指定して、[受信] を選択します。
重要
ReceiveAndDelete モードは、破壊的受信であるため、メッセージは Service Bus Explorer ツールに表示されると、キューから削除されます。
キューから削除せずにメッセージを参照するには、クイック表示機能または PeekLock 受信モードの使用を検討します。
受信操作が完了すると、次の画像のようにメッセージがグリッドに表示されます。 特定のメッセージの詳細を表示するには、グリッドで選択します。
注
パフォーマンス上の理由から、1 MB を超える最大メッセージ サイズが設定されているキューまたはサブスクリプションからメッセージを受信するときに、一度に受信されるメッセージは 1 つのみです。 メッセージ本文が 1 MB を超える場合は、表示される前に切り詰められます。
PeekLock モードでメッセージを受信した後は、それに対してさまざまなアクションを実行できます。
注
これらのアクションは、メッセージをロックしてある場合にのみ実行できます。
メッセージを完了する
グリッドで、完了する受信メッセージを選択します。
[完了] ボタンを選択します。
重要
メッセージの完了は破壊的受信であるため、Service Bus Explorer ツールで [完了] を選択すると、メッセージはキューから削除されます。
メッセージを延期する
グリッドで、延期する 1 つ以上の受信メッセージを選択します。
[延期] ボタンを選択します。
ロックを破棄する
ロックが破棄されると、メッセージは再び受信操作に使用できるようになります。
配信不能
グリッドで、配信不能にする 1 つ以上の受信メッセージを選択します。
デッドレター ボタンを選択します。
配信不能になったメッセージは、配信不能サブキューから使用できます。
メッセージを消去する
メッセージを消去するには、Service Bus Explorer の [メッセージの消去] ボタンを選択します。
操作で確認するために「purge」と入力すると、メッセージはそれぞれの Service Bus エンティティから消去されます。
キューまたはトピックにメッセージを送信する
メッセージをキューまたはトピックに送信するには、Service Bus Explorer の [メッセージの送信] ボタンを選択します。
[コンテンツの種類] として、'Text/Plain'、'Application/Xml'、'Application/Json' のいずれかを選択します。
[メッセージの本文] に、メッセージの内容を追加します。 設定した [コンテンツの種類] と一致していることを確認します。
[ブローカーのプロパティ] を設定します (省略可能)。 関連付け ID、メッセージ ID、返信先、ラベル/件名、Time to Live (TTL)、スケジュールされたエンキュー時刻 (スケジュールされたメッセージの場合) などのプロパティがあります。
[カスタム プロパティ] を設定します (省略可能)。 ディクショナリ キーに対して設定された任意のユーザー プロパティを指定できます。
同じメッセージを複数回送信するには、[Repeat send](繰り返し送信) をオンにします。 メッセージ ID が設定されていない場合は、連続した値が自動的に設定されます。
メッセージを作成したら、[送信] ボタンを選択します。
送信操作が正常に完了すると、次のいずれかの変更が行われます。
- キューに送信している場合は、アクティブなメッセージのメトリック カウンターが増えます。
- トピックに送信している場合は、メッセージのルーティング先サブスクリプションのアクティブなメッセージのメトリック カウンターが増えます。
メッセージを送信する
メッセージをクイック表示または受信した後、再送信できます。これにより、メッセージのコピーが同じエンティティに送信されますが、その内容とプロパティを更新できます。 オリジナルは残り、再送信がデッドレターキューからのものであっても削除されません。
グリッドで、再送信する 1 つ以上のメッセージを選択します。
[Re-send selected messages](選択したメッセージの再送信) ボタンを選択します。
必要に応じて、詳細を更新するメッセージを選択し、必要な変更を行います。
[送信] ボタンを選択して、エンティティにメッセージを送信します。
注
- 再送信操作により、元のメッセージのコピーが送信されます。 再送信した元のメッセージは削除されません。
- サブスクリプションの配信不能キューにメッセージを再送信すると、メッセージのコピーがトピックに送信されます。 したがって、すべてのサブスクリプションはメッセージのコピーを受け取ります。
認証の種類を切り替える
Service Bus Explorer を使用するときは、アクセス キーまたは Microsoft Entra ID 認証を使用できます。
次の手順
- Service Bus のキューとトピックについて詳細を確認します
- Azure portal を使用した Service Bus キューの作成について詳細を確認します
- Azure portal を使用した Service Bus のトピックとサブスクリプションの作成について詳細を確認します