EventProcessor<TPartition> クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
特定のコンシューマー グループの特定のイベント ハブのすべてのパーティションでイベントを使用するカスタム プロセッサを作成するためのベースを提供します。 プロセッサは、同じ Event Hub とコンシューマー グループのペアリングのために他のインスタンスと共同作業を行い、共通のストレージ プラットフォームを使用して通信することで作業を共有できます。 フォールト トレランスも組み込まれているため、プロセッサはエラーに直面しても回復性を持たせます。
public abstract class EventProcessor<TPartition> where TPartition : EventProcessorPartition, new()
type EventProcessor<'Partition (requires 'Partition :> EventProcessorPartition and 'Partition : (new : unit -> 'Partition))> = class
Public MustInherit Class EventProcessor(Of TPartition)
型パラメーター
- TPartition
操作が実行されているパーティションのコンテキスト。
- 継承
-
EventProcessor<TPartition>
- 派生
注釈
インスタンス間 EventProcessor<TPartition> でパーティションを共有するための調整を有効にするために、コンシューマー グループのパーティションに対する排他的な読み取りアクセスをアサートします。 共同作業を行うプロセッサ以外のコンシューマー グループでは、他のリーダーをアクティブにする必要はありません。 排他的でないリーダーはアクセスを拒否されます。別のストレージの場所を使用するプロセッサを含む排他的リーダーは、プロセッサの操作とパフォーマンスに干渉します。
EventProcessor<TPartition>は、アプリケーションの有効期間中はキャッシュして使用しても安全です。これは推奨される方法です。 プロセッサは、効率的なネットワーク、CPU、メモリの使用を確保する役割を担います。 StopProcessingAsync(CancellationToken)StopProcessing(CancellationToken)または を呼び出して、すべての処理が完了したとき、またはアプリケーションのシャットダウン時に、ネットワーク リソースやその他のアンマネージド オブジェクトが適切にクリーンアップされるようにします。
コンストラクター
プロパティ
ConsumerGroup |
このイベント プロセッサが関連付けられているコンシューマー グループの名前。 イベントは、このグループのコンテキストでのみ読み取られます。 |
EventHubName |
プロセッサが接続されているイベント ハブの名前。プロセッサを含む Event Hubs 名前空間に固有です。 |
FullyQualifiedNamespace |
プロセッサが関連付けられている完全修飾 Event Hubs 名前空間。 これは、 と似ている |
Identifier |
このイベント プロセッサを識別するために使用される一意の名前。 |
IsRunning |
このイベント プロセッサが現在実行されているかどうかを示します。 |
RetryPolicy |
プロセッサの再試行を制御するアクティブなポリシー。 |
メソッド
ClaimOwnershipAsync(IEnumerable<EventProcessorPartitionOwnership>, CancellationToken) |
処理のために、指定されたパーティションの所有権の要求を試みます。 この操作は、負荷分散によって使用され、アクティブなイベント プロセッサ間でイベント ハブとコンシューマー グループのペアリングのパーティションを処理する責任を分散できます。 |
CreateConnection() |
EventHubConnection Event Hubs サービスとの通信に使用する を作成します。 |
GetCheckpointAsync(String, CancellationToken) |
イベント プロセッサ インスタンスに関連付けられているパーティションの Event Hub、コンシューマー グループ、識別子のチェックポイントを返し、特定のパーティションの処理を適切に初期化できるようにします。 既定の実装では、 を呼び出し、 Azure.Messaging.EventHubs.Primitives.EventProcessor`1.ListCheckpointsAsync(System.Threading.CancellationToken) によって結果をフィルター処理します PartitionId。 最適なパフォーマンスを実現するには、実装で EventProcessor<TPartition> このメソッドをオーバーライドすることをお勧めします。 |
ListOwnershipAsync(CancellationToken) |
特定のイベント ハブとコンシューマー グループのペアリングについて、連携する各イベント プロセッサ インスタンス間のパーティションに対する所有権の割り当ての一覧を要求します。 この方法は、負荷分散中に使用され、プロセッサが他のアクティブなコラボレーターを検出し、それらの間で最適なバランスを取る方法に関する決定を行うことができます。 |
ListPartitionIdsAsync(EventHubConnection, CancellationToken) |
Event Hub パーティションの識別子を照会します。 |
OnInitializingPartitionAsync(TPartition, CancellationToken) |
イベント処理のためにパーティションとその関連コンテキストを初期化するタスクを実行します。 |
OnPartitionProcessingStoppedAsync(TPartition, ProcessingStoppedReason, CancellationToken) |
パーティションの処理が停止しているときに必要なタスクを実行します。 これは通常、パーティションが別のイベント プロセッサ インスタンスによって要求された場合、または現在のイベント プロセッサ インスタンスがシャットダウンされるときに発生します。 |
OnProcessingErrorAsync(Exception, TPartition, String, CancellationToken) |
イベント プロセッサ インフラストラクチャの操作内で予期しない例外が発生したときに必要なタスクを実行します。 |
OnProcessingEventBatchAsync(IEnumerable<EventData>, TPartition, CancellationToken) |
Event Hubs サービスから読み取られた特定のパーティションのイベントのバッチを処理するために必要なタスクを実行します。 |
ReadLastEnqueuedEventProperties(String) |
イベントが Event Hubs サービスから受信されると、このコンテキストに関連付けられている EventHubs クライアントによって観察される、パーティションの最後のエンキューイベントに関する一連の情報。 これは、コンシューマーが set を使用して TrackLastEnqueuedEventProperties 作成された場合にのみ使用できます。 |
StartProcessing(CancellationToken) |
イベントの処理を EventProcessor<TPartition> 開始するように を通知します。 プロセッサの実行中にこのメソッドを呼び出しても、アクションは実行されません。 |
StartProcessingAsync(CancellationToken) |
イベントの処理を EventProcessor<TPartition> 開始するように を通知します。 プロセッサの実行中にこのメソッドを呼び出しても、アクションは実行されません。 |
StopProcessing(CancellationToken) |
イベントの処理を EventProcessor<TPartition> 停止するように を通知します。 プロセッサの実行中にこのメソッドを呼び出しても、アクションは実行されません。 |
StopProcessingAsync(CancellationToken) |
イベントの処理を EventProcessor<TPartition> 停止するように を通知します。 プロセッサの実行中にこのメソッドを呼び出しても、アクションは実行されません。 |
UpdateCheckpointAsync(String, Int64, Nullable<Int64>, CancellationToken) |
特定のパーティションのチェックポイントを作成または更新し、イベント プロセッサが読み取りを開始するパーティションのイベント ストリーム内の位置を識別します。 |
ValidateProcessingPreconditions(CancellationToken) |
プロセッサが機能するために必要な依存関係の基本的な構成とアクセス許可を検証するために必要なタスクを実行します。 |
適用対象
Azure SDK for .NET