次の方法で共有


EventProcessorClient.ProcessEventAsync イベント

定義

Event Hubs サービスから読み取られた特定のパーティションのイベントのバッチを処理するために必要なタスクを実行します。 実装は必須です。

このメソッドのコード内で例外が発生した場合、イベント プロセッサは、何らかの方法で処理を試みることなく、スタックを伝達できるようにします。 ほとんどのホストでは、パーティション処理を担当するタスクがエラーになり、最後のチェックポイントから再起動されます。 一部のホストでは、プロセスがクラッシュする可能性があります。 開発者は、すべての例外シナリオを考慮し、必要に応じて try/catch ブロックやその他の方法を使用してそれらに対して保護することを強くお勧めします。

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

public event Func<Azure.Messaging.EventHubs.Processor.ProcessEventArgs,System.Threading.Tasks.Task> ProcessEventAsync;
member this.ProcessEventAsync : Func<Azure.Messaging.EventHubs.Processor.ProcessEventArgs, System.Threading.Tasks.Task> 
Public Custom Event ProcessEventAsync As Func(Of ProcessEventArgs, Task) 

イベントの種類

例外

登録されている現在のハンドラーと一致しないハンドラーを削除しようとした場合。

ハンドラーが現在登録されているときにハンドラーを追加しようとした場合。

注釈

このハンドラーは同時に呼び出され、パーティションごとに 1 つの呼び出しに制限されます。 プロセッサは各呼び出しを待機して、同じパーティションのイベントがパーティションから読み取られた順序で一度に 1 つずつ処理されるようにします。

このハンドラーの呼び出しに制限時間は適用されません。プロセッサは、関連付けられたパーティションに対して別のイベントをディスパッチする前に、実行が完了するまで無期限に待機します。 実装では、実行時間の長い操作、再試行、遅延、および配信不能アクティビティを実行しても安全です。

適用対象

こちらもご覧ください