SubscriptionClient クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SubscriptionClient は、Service Bus サブスクリプションとのすべての基本的な操作に使用できます。
public class SubscriptionClient : Microsoft.Azure.ServiceBus.ClientEntity, Microsoft.Azure.ServiceBus.ISubscriptionClient
type SubscriptionClient = class
inherit ClientEntity
interface ISubscriptionClient
interface IReceiverClient
interface IClientEntity
Public Class SubscriptionClient
Inherits ClientEntity
Implements ISubscriptionClient
- 継承
- 実装
例
新しい SubscriptionClient を作成する
ISubscriptionClient subscriptionClient = new SubscriptionClient(
namespaceConnectionString,
topicName,
subscriptionName,
ReceiveMode.PeekLock,
RetryExponential);
メッセージを受信するたびに呼び出されるメッセージ ハンドラーを登録します。
subscriptionClient.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 subscriptionClient is opened in ReceiveMode.PeekLock mode.
await subscriptionClient.CompleteAsync(message.SystemProperties.LockToken);
},
async (exceptionEvent) =>
{
// Process the exception
Console.WriteLine("Exception = " + exceptionEvent.Exception);
return Task.CompletedTask;
});
注釈
これは、サービス バスとの通信に AMQP プロトコルを使用します。 高度な機能セットに使用 MessageReceiver します。
コンストラクター
SubscriptionClient(ServiceBusConnection, String, String, ReceiveMode, RetryPolicy) |
特定の にサブスクリプション クライアントの新しいインスタンスを作成します。 ServiceBusConnection |
SubscriptionClient(ServiceBusConnectionStringBuilder, String, ReceiveMode, RetryPolicy) |
サブスクリプションに対して操作を実行する新しい SubscriptionClient をインスタンス化します。 |
SubscriptionClient(String, String, String, ITokenProvider, TransportType, ReceiveMode, RetryPolicy) |
指定したエンドポイント、エンティティ パス、トークン プロバイダーを使用して、サブスクリプション クライアントの新しいインスタンスを作成します。 |
SubscriptionClient(String, String, String, ReceiveMode, RetryPolicy) |
サブスクリプションに対して操作を実行する新しい SubscriptionClient をインスタンス化します。 |
プロパティ
ClientId |
このクライアントを識別する ID を取得します。 これは、ログと例外を関連付けるために使用できます。 (継承元 ClientEntity) |
IsClosedOrClosing |
クライアントが閉じているか閉じている場合は true を返します。 (継承元 ClientEntity) |
OperationTimeout |
個々の操作がタイムアウトする期間。 |
OwnsConnection |
接続が所有されている場合は true、接続が共有されている場合は false を返します。 (継承元 ClientEntity) |
Path |
サブスクリプション クライアントの書式設定されたパスを取得します。 |
PrefetchCount |
プリフェッチは、アプリケーションが Receive を使用してメッセージを要求する前に、ローカル取得のためにメッセージをすぐに使用できるようにすることで、メッセージ フローを高速化します。 0 以外の値を設定すると、メッセージのプリフェッチ数がプリフェッチされます。 値を 0 に設定すると、プリフェッチがオフになります。 既定値は 0 です。 |
ReceiveMode |
SubscriptionClient の を ReceiveMode 取得します。 |
RegisteredPlugins |
この SubscriptionClient の現在登録されているプラグインの一覧を取得します。 |
RetryPolicy |
クライアントで定義されている RetryPolicy を取得します。 (継承元 ClientEntity) |
ServiceBusConnection |
Service Bus 名前空間への接続オブジェクト。 |
SubscriptionName |
サブスクリプションの名前を取得します。 |
TopicPath |
対応するトピックのパスを取得します。 |
メソッド
AbandonAsync(String, IDictionary<String,Object>) |
ロック トークンを使用して を Message 破棄します。 これにより、メッセージを再び処理できるようになります。 |
AddRuleAsync(RuleDescription) |
現在のサブスクリプションにルールを追加して、トピックからサブスクリプションに到達するメッセージをフィルター処理します。 |
AddRuleAsync(String, Filter) |
現在のサブスクリプションにルールを追加して、トピックからサブスクリプションに到達するメッセージをフィルター処理します。 |
CloseAsync() |
クライアントを閉じます。 その接続によって開かれた接続を閉じます。 (継承元 ClientEntity) |
CompleteAsync(String) |
ロック トークンを使用して を Message 完了します。 これにより、サブスクリプションからメッセージが削除されます。 |
DeadLetterAsync(String) |
メッセージを配信不能サブキューに移動します。 |
DeadLetterAsync(String, IDictionary<String,Object>) |
メッセージを配信不能サブキューに移動します。 |
DeadLetterAsync(String, String, String) |
メッセージを配信不能サブキューに移動します。 |
GetRulesAsync() |
サブスクリプションに関連付けられているすべてのルールを取得します。 |
OnClosingAsync() |
SubscriptionClient は、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 Service Bus からメッセージを受信するために使用する を登録します。 |
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>) は、サブスクリプション クライアントによって新しいメッセージが受信されるたびに待機されます。 |
RemoveRuleAsync(String) |
によって識別されるサブスクリプションのルールを |
ThrowIfClosed() |
オブジェクトが Closing の場合は、OperationCanceledException をスローします。 (継承元 ClientEntity) |
UnregisterMessageHandlerAsync(TimeSpan) |
アクティブなメッセージ ハンドラーが登録されている場合は、受信側からメッセージ ハンドラーの登録を解除します。 この操作は、未完了の受信操作とメッセージ処理操作の完了を待機し、以前に登録したメッセージ ハンドラーで将来の受信を登録解除します。 |
UnregisterPlugin(String) |
の登録を ServiceBusPlugin解除します。 |
UnregisterSessionHandlerAsync(TimeSpan) |
アクティブなセッション ハンドラーが登録されている場合は、レシーバーからセッション ハンドラーの登録を解除します。 この操作は、未完了の受信操作とセッション処理操作の完了を待機し、以前に登録したセッション ハンドラーで将来の受信を登録解除します。 |
適用対象
Azure SDK for .NET