共用方式為


SubscriptionEventHandlers interface

介面,描述呼叫 subscribe() 方法以接收事件中樞事件時,EventHubConsumerClient 所叫用之使用者所要實作的函式。

屬性

processClose

每次訂閱停止從分割區讀取事件時,EventHubConsumerClient 所叫用的函式。 傳遞至函式 processClosePartitionContext,即可取得此分割區的相關信息。

如果傳遞至此函式的 CloseReasonOwnershipLost,則另一個訂用帳戶會使用相同的取用者群組從相同的分割區接管讀取。 如果您的應用程式有多個實例正在執行,且已將 CheckpointStore 傳遞至用戶端以進行負載平衡,則這是預期的。

如果 CloseReasonShutdown,這表示已呼叫 subscription.close() 或發生錯誤。 除非訂用帳戶透過 subscription.close()明確關閉,否則訂用帳戶會嘗試繼續從分割區的最後一個檢查點讀取事件。

processError

EventHubConsumerClient 所叫用的函式,用於接收事件或執行傳遞至 subscribe() 方法的任何使用者提供的函式時所發生的錯誤。

傳遞至此函式的 PartitionContext 會指出擲回錯誤時正在處理的分割區。 如果從分割區處理事件之外擲回錯誤(例如無法執行負載平衡),內容上的 partitionId 會是空字串。

用戶端完成執行此函式之後,會叫用 partitionClose 函式。

processEvents

收到一組事件時,EventHubConsumerClient 所叫用的函式。 傳遞至此函式的 PartitionContext 可用來判斷要讀取的數據分割。

內容上的 updateCheckpoint() 方法可用來更新 CheckpointStore 中的檢查點(如果已提供給用戶端)。 請以頻繁的間隔來標記已處理的事件,以便在重新啟動或錯誤復原時,用戶端可以從這類檢查點重新啟動。

注意:接收的事件可能是空陣列。 如果 maxWaitTimeInSeconds中沒有新事件可接收,則會發生此情況,預設為 60 秒。 在傳遞至 subscribe()options 中設定 maxWaitTimeInSeconds,即可變更 maxWaitTimeInSeconds

processInitialize

每次訂閱即將從分割區讀取時,EventHubConsumerClient 所叫用的函式。 傳遞至此函式的 PartitionContext 可用來判斷要讀取的數據分割。

只有在完成此函式的執行之後,用戶端才會開始接收分割區的事件(如果提供的話)。 因此,使用此函式來執行任何安裝工作,包括異步工作。

屬性詳細資料

processClose

每次訂閱停止從分割區讀取事件時,EventHubConsumerClient 所叫用的函式。 傳遞至函式 processClosePartitionContext,即可取得此分割區的相關信息。

如果傳遞至此函式的 CloseReasonOwnershipLost,則另一個訂用帳戶會使用相同的取用者群組從相同的分割區接管讀取。 如果您的應用程式有多個實例正在執行,且已將 CheckpointStore 傳遞至用戶端以進行負載平衡,則這是預期的。

如果 CloseReasonShutdown,這表示已呼叫 subscription.close() 或發生錯誤。 除非訂用帳戶透過 subscription.close()明確關閉,否則訂用帳戶會嘗試繼續從分割區的最後一個檢查點讀取事件。

processClose?: ProcessCloseHandler

屬性值

processError

EventHubConsumerClient 所叫用的函式,用於接收事件或執行傳遞至 subscribe() 方法的任何使用者提供的函式時所發生的錯誤。

傳遞至此函式的 PartitionContext 會指出擲回錯誤時正在處理的分割區。 如果從分割區處理事件之外擲回錯誤(例如無法執行負載平衡),內容上的 partitionId 會是空字串。

用戶端完成執行此函式之後,會叫用 partitionClose 函式。

processError: ProcessErrorHandler

屬性值

processEvents

收到一組事件時,EventHubConsumerClient 所叫用的函式。 傳遞至此函式的 PartitionContext 可用來判斷要讀取的數據分割。

內容上的 updateCheckpoint() 方法可用來更新 CheckpointStore 中的檢查點(如果已提供給用戶端)。 請以頻繁的間隔來標記已處理的事件,以便在重新啟動或錯誤復原時,用戶端可以從這類檢查點重新啟動。

注意:接收的事件可能是空陣列。 如果 maxWaitTimeInSeconds中沒有新事件可接收,則會發生此情況,預設為 60 秒。 在傳遞至 subscribe()options 中設定 maxWaitTimeInSeconds,即可變更 maxWaitTimeInSeconds

processEvents: ProcessEventsHandler

屬性值

processInitialize

每次訂閱即將從分割區讀取時,EventHubConsumerClient 所叫用的函式。 傳遞至此函式的 PartitionContext 可用來判斷要讀取的數據分割。

只有在完成此函式的執行之後,用戶端才會開始接收分割區的事件(如果提供的話)。 因此,使用此函式來執行任何安裝工作,包括異步工作。

processInitialize?: ProcessInitializeHandler

屬性值