你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

@azure/event-hubs package

EventHubBufferedProducerClient

EventHubBufferedProducerClient用于将事件发布到特定事件中心。

EventHubBufferedProducerClient不会立即发布事件。 而是缓冲事件,以便在批处理已满或 maxWaitTimeInMs 已过且未将新事件排入队列时有效地批处理和发布事件。

根据事件排队时指定的选项,它们可能会自动分配给分区、根据指定的分区键分组或分配一个专门请求的分区。

此模型旨在将批处理管理的负担从调用方转移,代价是何时发布事件,代价是非确定性计时。 此外,还需要考虑其他权衡:

  • 如果应用程序崩溃,则不会发布缓冲区中的事件。 为防止数据丢失,建议调用方使用 onSendEventsSuccessHandleronSendEventsErrorHandler 处理程序跟踪发布进度。
  • 为指定分区键的事件分配的分区可能不同于与其他生成者使用同一键的事件。
  • 如果分区暂时不可用, EventHubBufferedProducerClient 则 恢复所需的时间可能比其他生成者更长。

在必须立即发布具有确定性结果的事件的情况下,请确保将分区键分配给与其他发布者一致的分区,或要求最大化可用性的情况下,建议使用 EventHubProducerClient

EventHubConsumerClient

EventHubConsumerClient 用于使用事件中心的事件。

有多种方法可以创建 EventHubConsumerClient

  • 使用为事件中心实例创建的 SAS 策略中的连接字符串。
  • 使用为事件中心命名空间创建的 SAS 策略中的连接字符串,以及事件中心实例的名称
  • 使用完整的命名空间(如 <yournamespace>.servicebus.windows.net)和凭据对象。

(可选)还可以传递:

  • 用于配置重试策略或代理设置的选项包。
  • 客户端用于读取检查点的检查点存储,以确定应用程序重启时应从何处继续接收事件。 客户端还使用检查点存储对应用程序的多个实例进行负载均衡。
EventHubProducerClient

EventHubProducerClient 用于将事件发送到事件中心。

有多种方法可以创建 EventHubProducerClient

  • 使用为事件中心实例创建的 SAS 策略中的连接字符串。
  • 使用为事件中心命名空间创建的 SAS 策略中的连接字符串,以及事件中心实例的名称
  • 使用完整的命名空间(如 <yournamespace>.servicebus.windows.net)和凭据对象。

(可选)还可以传递选项包来配置重试策略或代理设置。

MessagingError

描述消息传送错误的基类。

接口

BufferedCloseOptions

用于在 上配置 close 方法的选项 EventHubBufferedProducerClient

BufferedFlushOptions

用于在 上配置 flush 方法的选项 EventHubBufferedProducerClient

Checkpoint

检查点用于表示用户从事件中心实例中使用者组的特定分区中最后一个成功处理的事件。

updateCheckpoint()当用户调用 类上的 PartitionProcessor 方法时,Checkpoint将在内部创建 。 然后,它存储在创建 时EventProcessor由用户选择的 实现CheckpointManager的存储解决方案中。

用户绝不应直接与交互 Checkpoint 。 存在此接口以支持 和 CheckpointManager的内部工作EventProcessor

CheckpointStore

检查点存储存储和检索事件中心实例的给定使用者组中每个分区的分区所有权信息和检查点详细信息。

用户不打算实现 CheckpointStore。 用户应选择此接口的现有实现,将其实例化,并在实例化客户端时将其传递给 EventHubConsumerClient 类构造函数。 用户不应在检查点存储上使用任何方法,这些方法由客户端在内部使用。

CheckpointStore可以通过搜索前缀为 @azure/eventhub-checkpointstore- 的包,在 npm 上找到 的实现。

CreateBatchOptions

用于在 上配置 createBatch 方法的选项 EventHubProducerClient

  • partitionKey :经过哈希处理以生成分区分配的值。
  • maxSizeInBytes:批大小的上限。
  • abortSignal :发出取消发送操作的请求的信号。

用法示例:

{
    partitionKey: 'foo',
    maxSizeInBytes: 1024 * 1024 // 1 MB
}
EnqueueEventOptions

用于在 上配置 enqueueEvents 方法的选项 EventHubBufferedProducerClient

EventData

描述要发送到事件中心的数据的接口。 在创建在使用 时要发送的对象时, EventHubProducerClient将此用作引用。 例如, { body: "your-data" }

{
   body: "your-data",
   properties: {
      propertyName: "property value"
   }
}
EventDataAdapterParameters

创建事件数据适配器的 createEventDataAdapter 函数的参数。

EventDataBatch

一个接口,表示可用于将事件发送到事件中心的一批事件。

若要创建批处理,请在 createBatch() 上使用 EventHubProducerClient方法。 若要发送批处理,请在 sendBatch() 同一客户端上使用 方法。 若要填充批处理,请在 tryAdd() 批处理本身上使用 方法。

EventHubBufferedProducerClientOptions

介绍创建 EventHubBufferedProducerClient时可以提供的选项。

EventHubClientOptions

介绍创建 EventHubClient 时可以提供的选项。

  • userAgent :要追加到作为连接属性传递给服务的内置用户代理字符串的字符串。
  • webSocketOptions :用于配置通过 Web 套接字的 AMQP 连接的通道的选项。
    • websocket :如果选择通过 WebSocket 建立连接,则为用于创建 AMQP 连接的 WebSocket 构造函数。
    • webSocketConstructorOptions :选择通过 WebSocket 建立连接时传递给 Websocket 构造函数的选项。
  • retryOptions :客户端/生成者/使用者上所有操作的重试选项。
    • maxRetries :发生可重试错误时可以重试操作的次数。
    • maxRetryDelayInMs:重试之间的最大延迟。 仅当执行指数重试时才适用。
    • mode:要应用的重试模式,由 RetryMode 枚举指定。 选项包括 ExponentialFixed。 默认为 Fixed
    • retryDelayInMs:下一次尝试之前等待的时间(以毫秒为单位)。 当 设置为 Exponentialmode,这用于计算两次重试之间呈指数级增长的延迟。 默认值:30000 毫秒。
    • timeoutInMs:操作超时前等待的时间(以毫秒为单位)。如果剩余任何重试尝试,这将触发重试。 默认值:60000 毫秒。

简单用法可以是 { "maxRetries": 4 }

用法示例:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

构成事件中心连接字符串的属性集。

EventHubConsumerClientOptions

介绍创建 EventHubConsumerClient 时可以提供的选项。

  • loadBalancingOptions:用于优化 EventHubConsumerClient 声明分区方式的选项。
  • userAgent :要追加到作为连接属性传递给服务的内置用户代理字符串的字符串。
  • webSocketOptions :用于配置通过 Web 套接字的 AMQP 连接的通道的选项。
    • websocket :如果选择通过 WebSocket 建立连接,则为用于创建 AMQP 连接的 WebSocket 构造函数。
    • webSocketConstructorOptions :选择通过 WebSocket 建立连接时传递给 Websocket 构造函数的选项。
  • retryOptions :客户端/生成者/使用者上所有操作的重试选项。
    • maxRetries :发生可重试错误时可以重试操作的次数。
    • maxRetryDelayInMs:重试之间的最大延迟。 仅当执行指数重试时才适用。
    • mode:要应用的重试模式,由 RetryMode 枚举指定。 选项包括 ExponentialFixed。 默认为 Fixed
    • retryDelayInMs:下一次尝试之前等待的时间(以毫秒为单位)。 当 设置为 Exponentialmode,这用于计算两次重试之间呈指数级增长的延迟。 默认值:30000 毫秒。
    • timeoutInMs:操作超时前等待的时间(以毫秒为单位)。如果剩余任何重试尝试,这将触发重试。 默认值:60000 毫秒。

简单用法可以是 { "maxRetries": 4 }

用法示例:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

描述事件中心的运行时信息。

EventPosition

表示事件在事件中心分区中的位置,通常在调用 subscribe() 上的 EventHubConsumerClient 方法以指定分区中开始接收事件的位置时使用。

若要获取表示流的开始或结束的 EventPosition,请分别使用常量 earliestEventPositionlatestEventPosition

GetEventHubPropertiesOptions

用于配置 的行为的选项集 getEventHubProperties

  • abortSignal :接口的实现, AbortSignalLike 用于向请求发出取消操作的信号。
  • parentSpan:调用Span此操作时要用作parent所创建范围的 的 或 SpanContext
GetPartitionIdsOptions

用于配置 的行为的选项集 getPartitionIds

  • abortSignal :接口的实现, AbortSignalLike 用于向请求发出取消操作的信号。
  • parentSpan:调用Span此操作时要用作parent所创建范围的 的 或 SpanContext
GetPartitionPropertiesOptions

用于配置 的行为的选项集 getPartitionProperties

  • abortSignal :接口的实现, AbortSignalLike 用于向请求发出取消操作的信号。
  • parentSpan:调用Span此操作时要用作parent所创建范围的 的 或 SpanContext
LastEnqueuedEventProperties

一组有关分区的最后一个排队事件的信息,使用者在从事件中心服务接收事件时观察到的信息

LoadBalancingOptions

用于配置负载均衡设置的选项包。

OnSendEventsErrorContext

包含未成功发送到事件中心的事件、它们分配到的分区,以及发送时遇到的错误。

OnSendEventsSuccessContext

包含已成功发送到事件中心的事件及其分配到的分区。

OperationOptions

用于配置跟踪和 abortSignal 的选项。

PartitionContext

接口,描述传递给属于 的每个函数的 SubscriptionEventHandlers上下文。 实现其中任一函数时,请使用上下文对象获取有关分区以及检查点功能的信息。

PartitionOwnership

一个接口,表示有关哪个实例 EventProcessor 拥有从事件中心实例的使用者组处理给定分区的详细信息。

注意:这由 EventProcessor 内部使用,用户无需直接创建它。

PartitionProperties

描述 EventHub 分区的运行时信息。

ReceivedEventData

描述从事件中心接收的事件的结构的接口。 在创建 processEvents 函数时使用此引用来处理在使用 EventHubConsumerClient时从事件中心接收的事件。

RetryOptions

用于确定模式、重试次数、重试间隔等的重试策略选项。

SendBatchOptions

发送事件数组时,EventHubProducerClient用于在 上配置 sendBatch 方法的选项。 如果 partitionId 设置为 , partitionKey 则不得设置,反之亦然。

  • partitionId :此批处理将发送到的分区。
  • partitionKey :经过哈希处理以生成分区分配的值。
  • abortSignal :用于取消发送操作的信号。
SubscribeOptions

用于在 上EventHubConsumerClient配置 subscribe 方法的选项。 例如: { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

接口,描述 方法在 上EventHubConsumerClient返回subscribe()的对象。

SubscriptionEventHandlers

接口,描述用户要实现的函数,在调用 方法以从事件中心接收事件时subscribe(),由 EventHubConsumerClient 调用这些函数。

TokenCredential

表示能够提供身份验证令牌的凭据。

TryAddOptions

用于在 类上配置 方法行为 tryAdd 的选项 EventDataBatch

WebSocketImpl

描述 WebSocket 构造函数的所需形状。

WebSocketOptions

用于通过 Web 套接字配置 AMQP 连接的通道的选项。

类型别名

ProcessCloseHandler

用户提供的函数 EventHubConsumerClient 的签名,仅在停止后调用,以接收来自分区的事件。

ProcessErrorHandler

为接收事件或执行传递给 方法的任何用户提供的函数时发生的错误调用 EventHubConsumerClient 的用户提供的函数的 subscribe() 签名。

ProcessEventsHandler

收到一组事件时由 EventHubConsumerClient 调用的用户提供的函数的签名。

ProcessInitializeHandler

在开始从分区接收事件之前调用 EventHubConsumerClient 的用户提供的函数的签名。

枚举

CloseReason

一个枚举,表示 停止处理事件中心使用者组中分区的事件的不同原因 EventHubConsumerClient

RetryMode

介绍重试模式类型

函数

createEventDataAdapter(EventDataAdapterParameters)

构造事件数据适配器的函数。 该适配器可用于 @azure/schema-registry-avro 对事件数据中的正文进行编码和解码。

parseEventHubConnectionString(string)

将给定连接字符串解析为适用于Azure 事件中心的不同属性。 然后,这些属性可用于构造 EventHubProducerClient 或 EventHubConsumerClient。

函数详细信息

createEventDataAdapter(EventDataAdapterParameters)

构造事件数据适配器的函数。 该适配器可用于 @azure/schema-registry-avro 对事件数据中的正文进行编码和解码。

function createEventDataAdapter(params?: EventDataAdapterParameters): MessageAdapter<EventData>

参数

params
EventDataAdapterParameters

用于创建事件数据的参数

返回

MessageAdapter<EventData>

可以生成和使用事件数据的事件数据适配器

parseEventHubConnectionString(string)

将给定连接字符串解析为适用于Azure 事件中心的不同属性。 然后,这些属性可用于构造 EventHubProducerClient 或 EventHubConsumerClient。

function parseEventHubConnectionString(connectionString: string): Readonly<EventHubConnectionStringProperties>

参数

connectionString

string

与为事件中心命名空间创建的共享访问策略关联的连接字符串。

返回