你当前正在访问 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

EventHubBufferedProducerClient上配置 close 方法的选项。

BufferedFlushOptions

EventHubBufferedProducerClient上配置 flush 方法的选项。

Checkpoint

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

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

用户永远不会期望直接与 Checkpoint 交互。 此接口用于支持 EventProcessorCheckpointManager的内部工作。

CheckpointStore

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

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

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

CreateBatchOptions

EventHubProducerClient上配置 createBatch 方法的选项。

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

示例用法:

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

EventHubBufferedProducerClient上配置 enqueueEvents 方法的选项。

EventData

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

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

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

EventDataBatch

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

若要创建批处理,请在 EventHubProducerClient上使用 createBatch() 方法。 若要发送批处理,请使用同一客户端上的 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:下一次尝试之前等待的时间(以毫秒为单位)。 当 mode 设置为 Exponential时,这用于计算重试之间的指数级增加延迟。 默认值: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:下一次尝试之前等待的时间(以毫秒为单位)。 当 mode 设置为 Exponential时,这用于计算重试之间的指数级增加延迟。 默认值:30000 毫秒。
    • timeoutInMs:在操作超时之前等待的时间(以毫秒为单位)。如果仍有任何重试尝试,这将触发重试。 默认值:60000 毫秒。

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

示例用法:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

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

EventPosition

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

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

GetEventHubPropertiesOptions

用于配置 getEventHubProperties行为的一组选项。

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

用于配置 getPartitionIds行为的一组选项。

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

用于配置 getPartitionProperties行为的一组选项。

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

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

LoadBalancingOptions

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

OnSendEventsErrorContext

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

OnSendEventsSuccessContext

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

OperationOptions

用于配置跟踪和中止的选项。

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

描述 EventHubConsumerClientsubscribe() 方法返回对象的接口。

SubscriptionEventHandlers

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

TokenCredential

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

TryAddOptions

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

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

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

返回