Question#48(AZ-204)

Question#48(AZ-204)
Azure Service Bus を使用してパブリッシュ/サブスクライブ (Pub/Sub) メッセージングコンポーネントを実装しています。最初のサブスクリプションアプリケーションを開発中です。 Azure ポータルでは、各トピックのサブスクリプションにメッセージが送信されていることが確認できます。正しい詳細情報を指定してサブスクリプションクライアントオブジェクトを作成し、初期化しましたが、アプリケーションがまだメッセージを消費(処理)していません。 サブスクリプションクライアントがすべてのメッセージを処理するようにする必要があります。 どのコードセグメントを使用すべきですか?

正解:D

Azure Service Bus SDK(特に旧 Microsoft.Azure.ServiceBus ライブラリ)において、クライアントを初期化しただけではメッセージは受信されません。「メッセージが届いた時にどの関数を実行するか」というメッセージハンドラーを登録する必要があります。

1. なぜ D が正解なのか

  • 役割: RegisterMessageHandler は、バックグラウンドでメッセージを監視し、メッセージが到着した際にあらかじめ定義したメソッド(この場合は ProcessMessagesAsync)を自動的に呼び出すように設定するメソッドです。

  • 要件の充足: 問題文の「クライアントを初期化したが消費していない」という状況は、受信待ち(Listen)の状態になっていないことを意味します。このコードを追加することで、アプリケーションはメッセージの受信と処理を開始します。


コメント

コメント

コメントする

目次