次の方法で共有


EventHubProducerClient クラス

定義

バッチでグループ化された特定のイベント ハブへの発行 EventData を担当するクライアント。 送信時に指定されたオプションに応じて、イベントに使用可能なパーティションが自動的に割り当てられるか、特定のパーティションを要求する場合があります。

EventHubProducerClient 直ちに発行され、各送信操作の決定論的な結果が保証されますが、呼び出し元はバッチの構築と管理の責任を負う必要があります。

イベントをすぐに公開することが重要ではなく、パーティションの可用性を最大化することが要件ではないシナリオでは、 を使用することを検討することをお勧めします。このシナリオ EventHubBufferedProducerClientでは、アプリケーション コードでの複雑さを軽減するために、バッチの構築と管理を担当します。

public class EventHubProducerClient : IAsyncDisposable
type EventHubProducerClient = class
    interface IAsyncDisposable
Public Class EventHubProducerClient
Implements IAsyncDisposable
継承
EventHubProducerClient
実装

注釈

次の場合は、パーティション割り当てを許可することをお勧めします。

  • イベントの送信は高可用性である必要があります。
  • イベント データは、使用可能なすべてのパーティションに均等に分散する必要があります。

パーティションが指定されていない場合は、次の規則を使用してパーティションを自動的に選択します。

  1. ラウンドロビン方式を使用して、使用可能なすべてのパーティション間でイベントを均等に分散します。
  2. パーティションが使用できなくなった場合、Event Hubs サービスによって自動的にパーティションが検出され、メッセージが別の使用可能なパーティションに転送されます。

EventHubProducerClientは、アプリケーションの有効期間中にキャッシュして使用しても安全です。これは、アプリケーションが定期的または半定期的にイベントを発行する場合のベスト プラクティスです。 プロデューサーは、効率的なネットワーク、CPU、メモリの使用を確保する責任があります。 CloseAsync(CancellationToken)または DisposeAsync() をアプリケーションのシャットダウン時に呼び出すと、ネットワーク リソースやその他のアンマネージド オブジェクトが適切にクリーンアップされます。

コンストラクター

EventHubProducerClient()

EventHubProducerClient クラスの新しいインスタンスを初期化します。

EventHubProducerClient(EventHubConnection, EventHubProducerClientOptions)

EventHubProducerClient クラスの新しいインスタンスを初期化します。

EventHubProducerClient(String)

EventHubProducerClient クラスの新しいインスタンスを初期化します。

EventHubProducerClient(String, EventHubProducerClientOptions)

EventHubProducerClient クラスの新しいインスタンスを初期化します。

EventHubProducerClient(String, String)

EventHubProducerClient クラスの新しいインスタンスを初期化します。

EventHubProducerClient(String, String, AzureNamedKeyCredential, EventHubProducerClientOptions)

EventHubProducerClient クラスの新しいインスタンスを初期化します。

EventHubProducerClient(String, String, AzureSasCredential, EventHubProducerClientOptions)

EventHubProducerClient クラスの新しいインスタンスを初期化します。

EventHubProducerClient(String, String, EventHubProducerClientOptions)

EventHubProducerClient クラスの新しいインスタンスを初期化します。

EventHubProducerClient(String, String, TokenCredential, EventHubProducerClientOptions)

EventHubProducerClient クラスの新しいインスタンスを初期化します。

プロパティ

EventHubName

プロデューサーが接続されている Event Hub の名前。その名前を含む Event Hubs 名前空間に固有です。

FullyQualifiedNamespace

プロデューサーが関連付けられている完全修飾 Event Hubs 名前空間。 これは、 と似ている {yournamespace}.servicebus.windows.net可能性があります。

Identifier

このプロデューサーを識別するために使用される一意の名前。

IsClosed

これが EventHubProducerClient 閉じられているかどうかを示します。

メソッド

CloseAsync(CancellationToken)

プロデューサーを閉じます。

CreateBatchAsync(CancellationToken)

try ベースのパターンを EventData 使用して追加できるサイズ制約バッチを作成します。 イベントがバッチの最大許容サイズを超える場合、バッチはイベントの追加を許可せず、その戻り値を使用してそのシナリオを通知します。

サイズ制約に違反するイベントを追加できないため、イベントを Event Hubs サービスに送信しようとしたときにバッチを発行しても例外はトリガーされません。

CreateBatchAsync(CreateBatchOptions, CancellationToken)

try ベースのパターンを EventData 使用して追加できるサイズ制約バッチを作成します。 イベントがバッチの最大許容サイズを超える場合、バッチはイベントの追加を許可せず、その戻り値を使用してそのシナリオを通知します。

サイズ制約に違反するイベントを追加できないため、イベントを Event Hubs サービスに送信しようとしたときにバッチを発行しても例外はトリガーされません。

DisposeAsync()

によって使用されるリソースをクリーンするために必要なタスクをEventHubProducerClient実行します。これには、クライアント自体が閉じられているかの確認も含まれます。

GetEventHubPropertiesAsync(CancellationToken)

存在するパーティションの数とその識別子など、接続が関連付けられているイベント ハブに関する情報を取得します。

GetPartitionIdsAsync(CancellationToken)

イベント ハブのパーティションの識別子のセットを取得します。

GetPartitionPropertiesAsync(String, CancellationToken)

パーティション イベント ストリームで使用可能なイベントを記述する要素など、Event Hub の特定のパーティションに関する情報を取得します。

SendAsync(EventDataBatch, CancellationToken)

バッチ処理された方法を使用して、関連付けられているイベント ハブにイベントのセットを送信します。

SendAsync(IEnumerable<EventData>, CancellationToken)

関連付けられたイベント ハブにイベントのセットを 1 つの操作として送信します。 クライアントのサイズの測定と検証に関連するオーバーヘッドを回避するために、検証は Event Hubs サービスに委任され、操作が呼び出されるまで延期されます。 指定したイベント セットのサイズが 1 つのバッチの最大許容サイズを超えると、呼び出しは失敗します。

SendAsync(IEnumerable<EventData>, SendEventOptions, CancellationToken)

関連付けられたイベント ハブにイベントのセットを 1 つの操作として送信します。 クライアントのサイズの測定と検証に関連するオーバーヘッドを回避するために、検証は Event Hubs サービスに委任され、操作が呼び出されるまで延期されます。 指定したイベント セットのサイズが 1 つのバッチの最大許容サイズを超えると、呼び出しは失敗します。

適用対象

こちらもご覧ください