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