QueueClient クラス

定義

QueueClient は、Service Bus キューとのすべての基本的な操作に使用できます。

public class QueueClient : Microsoft.Azure.ServiceBus.ClientEntity, Microsoft.Azure.ServiceBus.IQueueClient
type QueueClient = class
    inherit ClientEntity
    interface IQueueClient
    interface IReceiverClient
    interface IClientEntity
    interface ISenderClient
Public Class QueueClient
Inherits ClientEntity
Implements IQueueClient
継承
QueueClient
実装

新しい QueueClient を作成する

IQueueClient queueClient = new QueueClient(
    namespaceConnectionString,
    queueName,
    ReceiveMode.PeekLock,
    RetryExponential);

キューにメッセージを送信します。

byte[] data = GetData();
await queueClient.SendAsync(data);

メッセージを受信するたびに呼び出されるメッセージ ハンドラーを登録します。

queueClient.RegisterMessageHandler(
       async (message, token) =>
       {
           // Process the message
           Console.WriteLine($"Received message: SequenceNumber:{message.SystemProperties.SequenceNumber} Body:{Encoding.UTF8.GetString(message.Body)}");

           // Complete the message so that it is not received again.
           // This can be done only if the queueClient is opened in ReceiveMode.PeekLock mode.
           await queueClient.CompleteAsync(message.SystemProperties.LockToken);
       },
       async (exceptionEvent) =>
       {
           // Process the exception
           Console.WriteLine("Exception = " + exceptionEvent.Exception);
           return Task.CompletedTask;
       });

注釈

または MessageReceiver を高度な機能セットに使用MessageSenderします。 サービスバスとの通信には AMQP プロトコルが使用されます。

コンストラクター

QueueClient(ServiceBusConnection, String, ReceiveMode, RetryPolicy)

特定の に Queue クライアントの新しいインスタンスを作成します。 ServiceBusConnection

QueueClient(ServiceBusConnectionStringBuilder, ReceiveMode, RetryPolicy)

キューに対する操作を実行する新しい QueueClient をインスタンス化します。

QueueClient(String, String, ITokenProvider, TransportType, ReceiveMode, RetryPolicy)

指定したエンドポイント、エンティティ パス、トークン プロバイダーを使用して、Queue クライアントの新しいインスタンスを作成します。

QueueClient(String, String, ReceiveMode, RetryPolicy)

キューに対する操作を実行する新しい QueueClient をインスタンス化します。

プロパティ

ClientId

このクライアントを識別する ID を取得します。 これは、ログと例外を関連付けるために使用できます。

(継承元 ClientEntity)
IsClosedOrClosing

クライアントが閉じているか閉じている場合は true を返します。

(継承元 ClientEntity)
OperationTimeout

個々の操作がタイムアウトする期間。

OwnsConnection

接続が所有されている場合は true、接続が共有されている場合は false を返します。

(継承元 ClientEntity)
Path

キューの名前を取得します。

PrefetchCount

プリフェッチは、アプリケーションが Receive を使用してメッセージを要求する前に、ローカル取得のためにメッセージをすぐに使用できるようにすることで、メッセージ フローを高速化します。 0 以外の値を設定すると、メッセージのプリフェッチ数がプリフェッチされます。 値を 0 に設定すると、プリフェッチがオフになります。 既定値は 0 です。

QueueName

キューの名前を取得します。

ReceiveMode

QueueClient の を ReceiveMode 取得します。

RegisteredPlugins

この QueueClient の現在登録されているプラグインの一覧を取得します。

RetryPolicy

クライアントで定義されている RetryPolicy を取得します。

(継承元 ClientEntity)
ServiceBusConnection

Service Bus 名前空間への接続オブジェクト。

メソッド

AbandonAsync(String, IDictionary<String,Object>)

ロック トークンを使用して を Message 破棄します。 これにより、メッセージを再び処理できるようになります。

CancelScheduledMessageAsync(Int64)

スケジュールされたメッセージを取り消します。

CloseAsync()

クライアントを閉じます。 その接続によって開かれた接続を閉じます。

(継承元 ClientEntity)
CompleteAsync(String)

ロック トークンを使用して を Message 完了します。 これにより、キューからメッセージが削除されます。

DeadLetterAsync(String, IDictionary<String,Object>)

メッセージを配信不能サブキューに移動します。

DeadLetterAsync(String, String, String)

メッセージを配信不能サブキューに移動します。

OnClosingAsync()

QueueClient は、Service Bus キューとのすべての基本的な操作に使用できます。

RegisterMessageHandler(Func<Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>)

エンティティからメッセージを継続的に受信します。 メッセージ ハンドラーを登録し、メッセージを受信する新しいスレッドを開始します。 このハンドラー(Func<T1,T2,TResult>) は、受信者が新しいメッセージを受信するたびに待機されます。

RegisterMessageHandler(Func<Message,CancellationToken,Task>, MessageHandlerOptions)

エンティティからメッセージを継続的に受信します。 メッセージ ハンドラーを登録し、メッセージを受信する新しいスレッドを開始します。 このハンドラー(Func<T1,T2,TResult>) は、受信者が新しいメッセージを受信するたびに待機されます。

RegisterPlugin(ServiceBusPlugin)

ServiceBusPluginこのキュー クライアントで使用する を登録します。

RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>)

キューからセッション メッセージを継続的に受信します。 メッセージ ハンドラーを登録し、セッション メッセージを受信する新しいスレッドを開始します。 この handler(Func<T1,T2,T3,TResult>) は、キュー クライアントによって新しいメッセージが受信されるたびに待機されます。

RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, SessionHandlerOptions)

キューからセッション メッセージを継続的に受信します。 メッセージ ハンドラーを登録し、セッション メッセージを受信する新しいスレッドを開始します。 この handler(Func<T1,T2,T3,TResult>) は、キュー クライアントによって新しいメッセージが受信されるたびに待機されます。

ScheduleMessageAsync(Message, DateTimeOffset)

後で Service Bus にメッセージを表示するようにスケジュールします。

SendAsync(IList<Message>)

メッセージの一覧を Service Bus に送信します。 パーティション分割されたエンティティで呼び出されると、異なるパーティション用のメッセージを一緒にバッチ処理することはできません。

SendAsync(Message)

Service Bus にメッセージを送信します。

ThrowIfClosed()

オブジェクトが Closing の場合は、OperationCanceledException をスローします。

(継承元 ClientEntity)
UnregisterMessageHandlerAsync(TimeSpan)

アクティブなメッセージ ハンドラーが登録されている場合は、受信側からメッセージ ハンドラーの登録を解除します。 この操作は、未完了の受信操作とメッセージ処理操作の完了を待機し、以前に登録したメッセージ ハンドラーで将来の受信を登録解除します。

UnregisterPlugin(String)

の登録を ServiceBusPlugin解除します。

UnregisterSessionHandlerAsync(TimeSpan)

アクティブなセッション ハンドラーが登録されている場合は、レシーバーからセッション ハンドラーの登録を解除します。 この操作は、未完了の受信操作とセッション処理操作の完了を待機し、以前に登録したセッション ハンドラーで将来の受信を登録解除します。

適用対象