次の方法で共有


EventProcessorClient.OnProcessingEventBatchAsync メソッド

定義

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 ブロックやその他の手段を使用してそれらに対して保護することを強くお勧めします。

プロセッサの状態は、このメソッド内から直接管理することはお勧めしません。プロセッサの起動または停止を要求すると、特に呼び出しの同期形式を使用している場合にデッドロック シナリオが発生する可能性があります。

適用対象