EventProcessorClient.OnProcessingEventBatchAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Event Hubs サービスから読み取られた特定のパーティションのイベントのバッチを処理するために必要なタスクを実行します。
protected override System.Threading.Tasks.Task OnProcessingEventBatchAsync (System.Collections.Generic.IEnumerable<Azure.Messaging.EventHubs.EventData> events, Azure.Messaging.EventHubs.Primitives.EventProcessorPartition partition, System.Threading.CancellationToken cancellationToken);
override this.OnProcessingEventBatchAsync : seq<Azure.Messaging.EventHubs.EventData> * Azure.Messaging.EventHubs.Primitives.EventProcessorPartition * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Protected Overrides Function OnProcessingEventBatchAsync (events As IEnumerable(Of EventData), partition As EventProcessorPartition, cancellationToken As CancellationToken) As Task
パラメーター
- events
- IEnumerable<EventData>
処理するイベントのバッチ。
- partition
- EventProcessorPartition
イベントの読み取り元のパーティションのコンテキスト。
- cancellationToken
- CancellationToken
CancellationToken処理を取り消す要求を通知する インスタンス。 これは、プロセッサがシャットダウンするときに発生する可能性が最も高いです。
戻り値
注釈
バッチ内 events
のイベントの数は異なる場合があります。 バッチには、要求された間隔内のパーティション内のイベントの可用性に応じて、プロセッサの作成時に要求された 0 からバッチ サイズまでの多数のイベントが MaximumWaitTime 含まれます。
要求されたサイズのバッチを埋めるのに十分なイベントが Event Hub パーティションに存在する場合は、プロセッサによってバッチが設定され、すぐにこのメソッドにディスパッチされます。 パーティション内に完全なバッチを設定するのに十分な数のイベントが存在しない場合、イベント プロセッサはパーティションからの読み取りを続行し、 が経過するまで MaximumWaitTime 要求されたバッチ サイズに達します。その時点で、その期間の終わりまでに使用可能だったイベントを含むバッチが返されます。
MaximumWaitTimeが要求されなかった場合は、 オプションを にnull
設定することで示されます。イベント プロセッサは、要求されたサイズの完全なバッチが設定されるまで Event Hub パーティションからの読み取りを続行し、このメソッドに部分的なバッチをディスパッチしません。
このメソッドのコード内で例外が発生した場合、イベント プロセッサによってバブルが許可され、エラー ハンドラーに表示されたり、何らかの方法で処理されたりすることはありません。 開発者は、例外シナリオを考慮し、必要に応じて try/catch ブロックやその他の手段を使用してそれらに対して保護することを強くお勧めします。
プロセッサの状態は、このメソッド内から直接管理することはお勧めしません。プロセッサの起動または停止を要求すると、特に呼び出しの同期形式を使用している場合にデッドロック シナリオが発生する可能性があります。