SubscriptionEventHandlers interface
介面,描述呼叫 subscribe()
方法以接收事件中樞事件時,EventHubConsumerClient
所叫用之使用者所要實作的函式。
屬性
process |
每次訂閱停止從分割區讀取事件時, 如果傳遞至此函式的 如果 |
process |
由 傳遞至此函式的 用戶端完成執行此函式之後,會叫用 |
process |
收到一組事件時, 內容上的 注意:接收的事件可能是空陣列。
如果 |
process |
每次訂閱即將從分割區讀取時, 只有在完成此函式的執行之後,用戶端才會開始接收分割區的事件(如果提供的話)。 因此,使用此函式來執行任何安裝工作,包括異步工作。 |
屬性詳細資料
processClose
每次訂閱停止從分割區讀取事件時,EventHubConsumerClient
所叫用的函式。 傳遞至函式 processClose
的 PartitionContext
,即可取得此分割區的相關信息。
如果傳遞至此函式的 CloseReason
是 OwnershipLost
,則另一個訂用帳戶會使用相同的取用者群組從相同的分割區接管讀取。 如果您的應用程式有多個實例正在執行,且已將 CheckpointStore
傳遞至用戶端以進行負載平衡,則這是預期的。
如果 CloseReason
是 Shutdown
,這表示已呼叫 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