IQueueClient インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
QueueClient は、Service Bus キューとのすべての基本的な操作に使用できます。
public interface IQueueClient : Microsoft.Azure.ServiceBus.Core.IReceiverClient, Microsoft.Azure.ServiceBus.Core.ISenderClient
type IQueueClient = interface
interface IReceiverClient
interface IClientEntity
interface ISenderClient
Public Interface IQueueClient
Implements IReceiverClient, ISenderClient
- 派生
- 実装
例
新しい 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;
});
注釈
または IMessageReceiver を高度な機能セットに使用IMessageSenderします。
プロパティ
ClientId |
このクライアントを識別する ID を取得します。 これは、ログと例外を関連付けるために使用できます。 (継承元 IClientEntity) |
IsClosedOrClosing |
クライアントが閉じているか閉じている場合は true を返します。 (継承元 IClientEntity) |
OperationTimeout |
個々の操作がタイムアウトする期間。 (継承元 IClientEntity) |
OwnsConnection |
接続が所有されている場合は true、接続が共有されている場合は false を返します。 (継承元 IClientEntity) |
Path |
エンティティ パスを取得します。 (継承元 IClientEntity) |
PrefetchCount |
プリフェッチは、アプリケーションが Receive を使用してメッセージを要求する前に、ローカル取得のためにメッセージをすぐに使用できるようにすることで、メッセージ フローを高速化します。 0 以外の値を設定すると、メッセージのプリフェッチ数がプリフェッチされます。 値を 0 に設定すると、プリフェッチがオフになります。 既定値は 0 です。 (継承元 IReceiverClient) |
QueueName |
キューの名前を取得します。 |
ReceiveMode |
ReceiveMode現在のレシーバーの を取得します。 (継承元 IReceiverClient) |
RegisteredPlugins |
このクライアントの現在登録されているプラグインの一覧を取得します。 (継承元 IClientEntity) |
ServiceBusConnection |
Service Bus 名前空間への接続オブジェクト。 (継承元 IClientEntity) |
メソッド
AbandonAsync(String, IDictionary<String,Object>) |
ロック トークンを使用して を Message 破棄します。 これにより、メッセージを再び処理できるようになります。 (継承元 IReceiverClient) |
CancelScheduledMessageAsync(Int64) |
スケジュールされたメッセージを取り消します。 (継承元 ISenderClient) |
CloseAsync() |
クライアントを閉じます。 その接続によって開かれた接続を閉じます。 (継承元 IClientEntity) |
CompleteAsync(String) |
ロック トークンを使用して を Message 完了します。 これにより、キューからメッセージが削除されます。 (継承元 IReceiverClient) |
DeadLetterAsync(String, IDictionary<String,Object>) |
メッセージを配信不能サブキューに移動します。 (継承元 IReceiverClient) |
DeadLetterAsync(String, String, String) |
メッセージを配信不能サブキューに移動します。 (継承元 IReceiverClient) |
RegisterMessageHandler(Func<Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>) |
エンティティからメッセージを継続的に受信します。 メッセージ ハンドラーを登録し、メッセージを受信する新しいスレッドを開始します。 このハンドラー(Func<T1,T2,TResult>) は、受信者が新しいメッセージを受信するたびに待機されます。 (継承元 IReceiverClient) |
RegisterMessageHandler(Func<Message,CancellationToken,Task>, MessageHandlerOptions) |
エンティティからメッセージを継続的に受信します。 メッセージ ハンドラーを登録し、メッセージを受信する新しいスレッドを開始します。 このハンドラー(Func<T1,T2,TResult>) は、受信者が新しいメッセージを受信するたびに待機されます。 (継承元 IReceiverClient) |
RegisterPlugin(ServiceBusPlugin) |
ServiceBusPluginこのクライアントで使用する を登録します。 (継承元 IClientEntity) |
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 にメッセージを表示するようにスケジュールします。 (継承元 ISenderClient) |
SendAsync(IList<Message>) |
メッセージの一覧を Service Bus に送信します。 パーティション分割されたエンティティで呼び出されると、異なるパーティション用のメッセージを一緒にバッチ処理することはできません。 (継承元 ISenderClient) |
SendAsync(Message) |
Service Bus にメッセージを送信します。 (継承元 ISenderClient) |
UnregisterMessageHandlerAsync(TimeSpan) |
アクティブなメッセージ ハンドラーが登録されている場合は、受信側からメッセージ ハンドラーの登録を解除します。 この操作は、未完了の受信操作とメッセージ処理操作の完了を待機し、以前に登録したメッセージ ハンドラーで将来の受信を登録解除します。 (継承元 IReceiverClient) |
UnregisterPlugin(String) |
の登録を ServiceBusPlugin解除します。 (継承元 IClientEntity) |
UnregisterSessionHandlerAsync(TimeSpan) |
アクティブなセッション ハンドラーが登録されている場合は、レシーバーからセッション ハンドラーの登録を解除します。 この操作は、未完了の受信操作とセッション処理操作の完了を待機し、以前に登録したセッション ハンドラーで将来の受信を登録解除します。 |
適用対象
こちらもご覧ください
Azure SDK for .NET