EventHubClient クラス

定義

アンカー クラス - すべての EventHub クライアント操作がここから開始されます。 「CreateFromConnectionString(String)」を参照してください。

public abstract class EventHubClient : Microsoft.Azure.EventHubs.ClientEntity
type EventHubClient = class
    inherit ClientEntity
Public MustInherit Class EventHubClient
Inherits ClientEntity
継承
EventHubClient

プロパティ

ClientId

クライアント ID を取得します。

(継承元 ClientEntity)
EnableReceiverRuntimeMetric

レシーバーのランタイム メトリックが有効かどうかを示す値を取得または設定します。

EventHubName

EventHub の名前を取得します。

IsClosed

クライアント オブジェクトが閉じているかどうかを表すブール値を返します。

(継承元 ClientEntity)
RegisteredPlugins

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

(継承元 ClientEntity)
RetryPolicy

ClientEntity の を RetryPolicy 取得します。

(継承元 ClientEntity)
WebProxy

Web プロキシを取得または設定します。 プロキシは、トランスポートの種類が AmqpWebSocket に設定されている場合にのみ適用されます。 設定されていない場合は、システム全体のプロキシ設定が適用されます。

メソッド

Close()

ClientEntity を閉じます。

(継承元 ClientEntity)
CloseAsync()

に関連付けられているリソースを閉じて EventHubClient解放します。

Create(EventHubsConnectionStringBuilder)

指定した接続文字列ビルダーを使用して、Event Hubs クライアントの新しいインスタンスを作成します。

CreateBatch()

後で SendAsync 呼び出しのためにイベント データ オブジェクトを追加できるバッチを作成します。

CreateBatch(BatchOptions)

後で SendAsync 呼び出しのためにイベント データ オブジェクトを追加できるバッチを作成します。

CreateEpochReceiver(String, String, EventPosition, Int64, ReceiverOptions)

指定 EventPositionした を使用してエポック ベースの EventHub レシーバーを作成します。 受信側は、特定のコンシューマー グループから特定の EventHub パーティションに対して作成されます。

エポック ベースのレシーバーを作成するときは、次の点に注意することが重要です。

- 所有権の適用: エポック ベースのレシーバーを作成したら、コンボに対するすべてのレシーバーが閉じられるまで、同じ consumerGroup-Partition コンボに非エポック レシーバーを作成することはできません。

- 所有権の盗難: consumerGroup-Partition コンボに対してエポック値が高いレシーバーが作成された場合、そのコンボに対する古いエポック レシーバーはすべて強制的に閉じられます。

- consumerGroup-Partition コンボの所有権が失われたためにレシーバーが閉じられた場合、そのレシーバーからのすべての操作に対して ReceiverDisconnectedException が取得されます。
CreateFromConnectionString(String)

指定した接続文字列を使用して、Event Hubs クライアントの新しいインスタンスを作成します。 EntityPath プロパティには、イベント ハブの名前を設定できます。

CreatePartitionSender(String)

PartitionSenderを作成し、特定の EventHub パーティションに直接 を発行EventDataできます (次の一覧の送信者の種類 iii)。

EventHubs に送信する 3 つのパターン/方法があります。

i. SendAsync(EventData) または SendAsync(IEnumerable<EventData>)

ii. SendAsync(EventData, String) または SendAsync(IEnumerable<EventData>, String)

iii. SendAsync(EventData) または SendAsync(IEnumerable<EventData>)

CreateReceiver(String, String, EventPosition, ReceiverOptions)

指定 EventPositionした を使用して EventHub レシーバーを作成します。 受信側は、特定のコンシューマー グループから特定の EventHub パーティションに対して作成されます。

CreateWithAzureActiveDirectory(Uri, String, AzureActiveDirectoryTokenProvider+AuthenticationCallback, String, Nullable<TimeSpan>, TransportType)

Azure Active Directory 認証を使用して の EventHubClient 新しいインスタンスを作成します。

CreateWithManagedIdentity(Uri, String, Nullable<TimeSpan>, TransportType)

Azure マネージド ID 認証を使用して、 EventHubClient の新しいインスタンスを作成します。

CreateWithTokenProvider(Uri, String, ITokenProvider, Nullable<TimeSpan>, TransportType)

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

GetPartitionRuntimeInformationAsync(String)

イベント ハブの指定したパーティションのランタイム情報を取得します。

GetRuntimeInformationAsync()

EventHub ランタイム情報を取得します

OnCloseAsync()

アンカー クラス - すべての EventHub クライアント操作がここから開始されます。 「CreateFromConnectionString(String)」を参照してください。

OnCreateReceiver(String, String, EventPosition, Nullable<Int64>, ReceiverOptions)

アンカー クラス - すべての EventHub クライアント操作がここから開始されます。 「CreateFromConnectionString(String)」を参照してください。

OnGetPartitionRuntimeInformationAsync(String)

アンカー クラス - すべての EventHub クライアント操作がここから開始されます。 「CreateFromConnectionString(String)」を参照してください。

OnGetRuntimeInformationAsync()

アンカー クラス - すべての EventHub クライアント操作がここから開始されます。 「CreateFromConnectionString(String)」を参照してください。

OnRetryPolicyUpdate()

ここで再試行ポリシーの更新を処理します。

RegisterPlugin(EventHubsPlugin)

EventHubsPluginこのクライアントで使用する を登録します。

(継承元 ClientEntity)
SendAsync(EventData)

EventHub に送信 EventData します。 送信された EventData は、任意に選択した EventHubs パーティションに配置されます。

EventHubs に送信する方法は 3 つあります。各方法はメソッドとして公開されています (sendBatch オーバーロードと共に)。

i. SendAsync(EventData) または SendAsync(IEnumerable<EventData>)

ii. SendAsync(EventData, String) または SendAsync(IEnumerable<EventData>, String)

iii. SendAsync(EventData) または SendAsync(IEnumerable<EventData>)

次の場合に送信するには、このメソッドを使用します。

a) 操作は SendAsync(EventData) 高可用性である必要があり、

b) データは、すべてのパーティション間で均等に分散する必要があります。例外は、パーティションのサブセットが使用できない場合です

SendAsync(EventData)EventData Service Gateway に を送信します。これにより、EventData が EventHub のいずれかのパーティションに転送されます。 メッセージ転送アルゴリズムを次に示します。

i. EventDatas を EventHub パーティションに転送し、すべてのパーティション間でデータを均等に分散します (例: EventDatas をすべての EventHub パーティションにラウンドロビンする)

ii. EventHub パーティションの 1 つが一瞬使用できない場合、Service Gateway によって自動的に検出され、メッセージが別の使用可能なパーティションに転送され、送信操作が高可用性になります。

SendAsync(EventData, String)

partitionKey を含む ' をEventData EventHub に送信します。 partitionKey を持つ すべての EventData' は、同じパーティションに確実に着陸します。 この送信パターンでは、一般提供と待機時間に対するデータの相関関係が強調されます。

EventHubs に送信する方法は 3 つあります。各方法はメソッドとして公開されます (バッチオーバーロードと共に)。

i. SendAsync(EventData) または SendAsync(IEnumerable<EventData>)

ii. SendAsync(EventData, String) または SendAsync(IEnumerable<EventData>, String)

iii. SendAsync(EventData) または SendAsync(IEnumerable<EventData>)

次の場合は、この種類の送信を使用します。

a) Sender インスタンスに基づくイベントの関連付けが必要です。送信者は UniqueId を生成し、それを partitionKey として設定できます。これは、受信したメッセージで関連付けに使用できます

b) クライアントは、パーティション間でのデータの分散を制御したいと考えています。

複数の PartitionKey を 1 つのパーティションにマップできます。 EventHubs サービスでは、独自のハッシュ アルゴリズムを使用して PartitionKey を PartitionId にマップします。 この種類の送信 (特定の partitionKey を使用して送信) を使用すると、パーティションが均等に分散されない場合があります。
SendAsync(EventDataBatch)

EventDataBatchのバッチをEventData送信します。

SendAsync(IEnumerable<EventData>)

EventData バッチを EventHub に送信します。 送信された EventData は、任意に選択した EventHub パーティションに配置されます。 これは、EventHub に送信する最も推奨される方法です。

EventHubs に送信する方法は 3 つあります。この特定の種類の送信を理解するには、単一EventDataの を送信するために使用されるオーバーロード SendAsync(EventData)を参照します。 のバッチ EventDataを送信する必要がある場合は、このオーバーロードを使用します。

のバッチを EventData送信すると、次の場合に便利です。

i. 効率的な送信 - の EventData バッチを送信すると、EventHub のサービスに対して作成されたセッションの数を最適に使用して、全体的なスループットが最大化されます。

ii. トランザクションで複数 EventDataの を送信します。 ACID プロパティを取得するために、ゲートウェイ サービスはバッチ内のすべての EventDataの を 1 つの EventHub パーティションに転送します。

SendAsync(IEnumerable<EventData>, String)

'batch of EventData with the same partitionKey' を EventHub に送信します。 partitionKey を持つ すべての EventData' は、同じパーティションに確実に着陸します。 複数の PartitionKey は、1 つのパーティションにマップされます。

EventHubs に送信する方法は 3 つあります。この特定の種類の送信を理解するには、同じ種類の送信であり、単一EventDataの を送信するために使用されるオーバーロード SendAsync(EventData, String)を参照します。

のバッチを EventData送信すると、次の場合に便利です。

i. 効率的な送信 - の EventData バッチを送信すると、EventHubs サービスに対して作成されたセッションの数を最適に使用して、全体的なスループットが最大化されます。

ii. 1 つのトランザクションで複数のイベントを送信する。 これは、バッチで送信されるすべてのイベントが同じ partitionKey を持つ必要がある理由です (そのため、1 つのパーティションにのみ送信されます)。

ThrowIfClosed()

クライアント オブジェクトが既に閉じている場合は、例外をスローします。

(継承元 ClientEntity)
UnregisterPlugin(String)

の登録を解除します EventHubsPlugin

(継承元 ClientEntity)

適用対象