你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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
。
processEvents: ProcessEventsHandler
属性值
processInitialize
每次订阅开始从分区读取时,EventHubConsumerClient
调用的函数。 传递给此函数的 PartitionContext
可用于确定要从中读取的分区。
只有在完成此函数的执行(如果提供)后,客户端才会开始接收分区的事件。 因此,使用此函数执行任何设置工作,包括异步任务。
processInitialize?: ProcessInitializeHandler