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

EventHubConsumerClient class

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

有多种方法可以创建 EventHubConsumerClient

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

(可选)还可以传递:

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

构造函数

EventHubConsumerClient(string, string, CheckpointStore, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

EventHubConsumerClient(string, string, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

EventHubConsumerClient(string, string, string, CheckpointStore, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

EventHubConsumerClient(string, string, string, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

EventHubConsumerClient(string, string, string, TokenCredential | NamedKeyCredential | SASCredential, CheckpointStore, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

EventHubConsumerClient(string, string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

属性

defaultConsumerGroupName

事件中心服务中默认使用者组的名称。

eventHubName

创建此客户端的事件中心实例的名称。

fullyQualifiedNamespace

创建此客户端的事件中心实例的完全限定命名空间。 这很可能类似于 .servicebus.windows.net。

identifier

用于标识此 EventHubConsumerClient 的名称。 如果未指定或为空,将生成随机唯一值。

方法

close()

关闭与事件中心实例的 AMQP 连接,并返回在断开连接完成后将解析的承诺。

getEventHubProperties(GetEventHubPropertiesOptions)

提供事件中心运行时信息。

getPartitionIds(GetPartitionIdsOptions)

提供与事件中心关联的每个分区的 ID。

getPartitionProperties(string, GetPartitionPropertiesOptions)

提供有关指定分区的状态的信息。

subscribe(string, SubscriptionEventHandlers, SubscribeOptions)

订阅单个分区中的事件。 对返回的对象调用 close(),以停止接收事件。

示例用法:

const client = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName);
const subscription = client.subscribe(
 partitionId,
 {
   processEvents: (events, context) => { console.log("Received event count: ", events.length) },
   processError: (err, context) => { console.log("Error: ", err) }
 },
 { startPosition: earliestEventPosition }
);
subscribe(SubscriptionEventHandlers, SubscribeOptions)

订阅来自所有分区的事件。

如果检查点存储提供给 EventHubConsumerClient,并且应用程序有多个实例,则每个实例将订阅分区的子集,以便负载在分区中均衡。

对返回的对象调用 close(),以停止接收事件。

示例用法:

const client = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName);
const subscription = client.subscribe(
 {
   processEvents: (events, context) => { console.log("Received event count: ", events.length) },
   processError: (err, context) => { console.log("Error: ", err) }
 },
 { startPosition: earliestEventPosition }
);

构造函数详细信息

EventHubConsumerClient(string, string, CheckpointStore, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

new EventHubConsumerClient(consumerGroup: string, connectionString: string, checkpointStore: CheckpointStore, options?: EventHubConsumerClientOptions)

参数

consumerGroup

string

要从中处理事件的使用者组的名称。

connectionString

string

用于连接到事件中心实例的连接字符串。 预计共享密钥属性和事件中心路径将包含在此连接字符串中。 例如,'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;EntityPath=my-event-hub-name'。

checkpointStore
CheckpointStore

客户端用来读取检查点的检查点存储,用于确定应用程序重启时应从何处恢复接收事件的位置。 客户端还使用它对应用程序的多个实例进行负载均衡。

options
EventHubConsumerClientOptions

配置客户端时要应用的一组选项。

  • retryOptions:为客户端上的所有作配置重试策略。 例如,{ "maxRetries": 4 }{ "maxRetries": 4, "retryDelayInMs": 30000 }
  • webSocketOptions:通过 Web 套接字配置 AMQP 连接的通道。
  • userAgent:要追加到传递给服务的内置用户代理字符串的字符串。

EventHubConsumerClient(string, string, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

new EventHubConsumerClient(consumerGroup: string, connectionString: string, options?: EventHubConsumerClientOptions)

参数

consumerGroup

string

要从中处理事件的使用者组的名称。

connectionString

string

用于连接到事件中心实例的连接字符串。 预计共享密钥属性和事件中心路径将包含在此连接字符串中。 例如,'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;EntityPath=my-event-hub-name'。

options
EventHubConsumerClientOptions

配置客户端时要应用的一组选项。

  • retryOptions:为客户端上的所有作配置重试策略。 例如,{ "maxRetries": 4 }{ "maxRetries": 4, "retryDelayInMs": 30000 }
  • webSocketOptions:通过 Web 套接字配置 AMQP 连接的通道。
  • userAgent:要追加到传递给服务的内置用户代理字符串的字符串。

EventHubConsumerClient(string, string, string, CheckpointStore, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

new EventHubConsumerClient(consumerGroup: string, connectionString: string, eventHubName: string, checkpointStore: CheckpointStore, options?: EventHubConsumerClientOptions)

参数

consumerGroup

string

要从中处理事件的使用者组的名称。

connectionString

string

用于连接到事件中心命名空间的连接字符串。 预计共享密钥属性包含在此连接字符串中,但不包含事件中心路径,例如“Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;'。

eventHubName

string

要连接到客户端的特定事件中心的名称。

checkpointStore
CheckpointStore

客户端用来读取检查点的检查点存储,用于确定应用程序重启时应从何处恢复接收事件的位置。 客户端还使用它对应用程序的多个实例进行负载均衡。

options
EventHubConsumerClientOptions

配置客户端时要应用的一组选项。

  • retryOptions:为客户端上的所有作配置重试策略。 例如,{ "maxRetries": 4 }{ "maxRetries": 4, "retryDelayInMs": 30000 }
  • webSocketOptions:通过 Web 套接字配置 AMQP 连接的通道。
  • userAgent:要追加到传递给服务的内置用户代理字符串的字符串。

EventHubConsumerClient(string, string, string, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

new EventHubConsumerClient(consumerGroup: string, connectionString: string, eventHubName: string, options?: EventHubConsumerClientOptions)

参数

consumerGroup

string

要从中处理事件的使用者组的名称。

connectionString

string

用于连接到事件中心命名空间的连接字符串。 预计共享密钥属性包含在此连接字符串中,但不包含事件中心路径,例如“Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;'。

eventHubName

string

要连接到客户端的特定事件中心的名称。

options
EventHubConsumerClientOptions

配置客户端时要应用的一组选项。

  • retryOptions:为客户端上的所有作配置重试策略。 例如,{ "maxRetries": 4 }{ "maxRetries": 4, "retryDelayInMs": 30000 }
  • webSocketOptions:通过 Web 套接字配置 AMQP 连接的通道。
  • userAgent:要追加到传递给服务的内置用户代理字符串的字符串。

EventHubConsumerClient(string, string, string, TokenCredential | NamedKeyCredential | SASCredential, CheckpointStore, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

new EventHubConsumerClient(consumerGroup: string, fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, checkpointStore: CheckpointStore, options?: EventHubConsumerClientOptions)

参数

consumerGroup

string

要从中处理事件的使用者组的名称。

fullyQualifiedNamespace

string

可能类似于 .servicebus.windows.net 的完整命名空间

eventHubName

string

要连接到客户端的特定事件中心的名称。

credential

TokenCredential | NamedKeyCredential | SASCredential

客户端用于获取令牌的凭据对象,用于对与 Azure 事件中心服务的连接进行身份验证。 请参阅@azure/标识,了解如何创建支持 AAD 身份验证的凭据。如果要传入 SharedAccessKeyNameSharedAccessKey 而不使用连接字符串,请使用 @azure/core-auth 中的 AzureNamedKeyCredential。 这些字段分别映射到 AzureNamedKeyCredential中的 namekey 字段。 如果要传入 SharedAccessSignature 而不使用连接字符串,请使用 @azure/core-auth 中的 AzureSASCredential。 此字段映射到 AzureSASCredential中的 signature

checkpointStore
CheckpointStore

客户端用来读取检查点的检查点存储,用于确定应用程序重启时应从何处恢复接收事件的位置。 客户端还使用它对应用程序的多个实例进行负载均衡。

options
EventHubConsumerClientOptions

配置客户端时要应用的一组选项。

  • retryOptions:为客户端上的所有作配置重试策略。 例如,{ "maxRetries": 4 }{ "maxRetries": 4, "retryDelayInMs": 30000 }
  • webSocketOptions:通过 Web 套接字配置 AMQP 连接的通道。
  • userAgent:要追加到传递给服务的内置用户代理字符串的字符串。

EventHubConsumerClient(string, string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubConsumerClientOptions)

EventHubConsumerClient 类用于使用事件中心的事件。 使用 options 参数配置重试策略或代理设置。

new EventHubConsumerClient(consumerGroup: string, fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubConsumerClientOptions)

参数

consumerGroup

string

要从中处理事件的使用者组的名称。

fullyQualifiedNamespace

string

可能类似于 .servicebus.windows.net 的完整命名空间

eventHubName

string

要连接到客户端的特定事件中心的名称。

credential

TokenCredential | NamedKeyCredential | SASCredential

客户端用于获取令牌的凭据对象,用于对与 Azure 事件中心服务的连接进行身份验证。 请参阅@azure/标识,了解如何创建支持 AAD 身份验证的凭据。如果要传入 SharedAccessKeyNameSharedAccessKey 而不使用连接字符串,请使用 @azure/core-auth 中的 AzureNamedKeyCredential。 这些字段分别映射到 AzureNamedKeyCredential中的 namekey 字段。 如果要传入 SharedAccessSignature 而不使用连接字符串,请使用 @azure/core-auth 中的 AzureSASCredential。 此字段映射到 AzureSASCredential中的 signature

options
EventHubConsumerClientOptions

配置客户端时要应用的一组选项。

  • retryOptions:为客户端上的所有作配置重试策略。 例如,{ "maxRetries": 4 }{ "maxRetries": 4, "retryDelayInMs": 30000 }
  • webSocketOptions:通过 Web 套接字配置 AMQP 连接的通道。
  • userAgent:要追加到传递给服务的内置用户代理字符串的字符串。

属性详细信息

defaultConsumerGroupName

事件中心服务中默认使用者组的名称。

static defaultConsumerGroupName: string

属性值

string

eventHubName

创建此客户端的事件中心实例的名称。

string eventHubName

属性值

string

fullyQualifiedNamespace

创建此客户端的事件中心实例的完全限定命名空间。 这很可能类似于 .servicebus.windows.net。

string fullyQualifiedNamespace

属性值

string

identifier

用于标识此 EventHubConsumerClient 的名称。 如果未指定或为空,将生成随机唯一值。

identifier: string

属性值

string

方法详细信息

close()

关闭与事件中心实例的 AMQP 连接,并返回在断开连接完成后将解析的承诺。

function close(): Promise<void>

返回

Promise<void>

承诺

getEventHubProperties(GetEventHubPropertiesOptions)

提供事件中心运行时信息。

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

参数

options
GetEventHubPropertiesOptions

要应用于作调用的选项集。

返回

一个承诺,其中包含有关事件中心实例的信息。

getPartitionIds(GetPartitionIdsOptions)

提供与事件中心关联的每个分区的 ID。

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

参数

options
GetPartitionIdsOptions

要应用于作调用的选项集。

返回

Promise<string[]>

一个承诺,它使用表示与事件中心关联的每个分区的 ID 的字符串数组进行解析。

getPartitionProperties(string, GetPartitionPropertiesOptions)

提供有关指定分区的状态的信息。

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

参数

partitionId

string

需要信息的分区的 ID。

options
GetPartitionPropertiesOptions

要应用于作调用的选项集。

返回

一个承诺,其中包含有关分区状态的信息。

subscribe(string, SubscriptionEventHandlers, SubscribeOptions)

订阅单个分区中的事件。 对返回的对象调用 close(),以停止接收事件。

示例用法:

const client = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName);
const subscription = client.subscribe(
 partitionId,
 {
   processEvents: (events, context) => { console.log("Received event count: ", events.length) },
   processError: (err, context) => { console.log("Error: ", err) }
 },
 { startPosition: earliestEventPosition }
);
function subscribe(partitionId: string, handlers: SubscriptionEventHandlers, options?: SubscribeOptions): Subscription

参数

partitionId

string

要订阅的分区的 ID。

handlers
SubscriptionEventHandlers

订阅生命周期的处理程序 - 分区的订阅初始化、接收事件、处理错误以及关闭分区的订阅。

options
SubscribeOptions

配置事件接收方式。 最常见的是 maxBatchSizemaxWaitTimeInSeconds 控制提供给接收事件的处理程序以及开始位置的事件流。 例如,{ maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

返回

subscribe(SubscriptionEventHandlers, SubscribeOptions)

订阅来自所有分区的事件。

如果检查点存储提供给 EventHubConsumerClient,并且应用程序有多个实例,则每个实例将订阅分区的子集,以便负载在分区中均衡。

对返回的对象调用 close(),以停止接收事件。

示例用法:

const client = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName);
const subscription = client.subscribe(
 {
   processEvents: (events, context) => { console.log("Received event count: ", events.length) },
   processError: (err, context) => { console.log("Error: ", err) }
 },
 { startPosition: earliestEventPosition }
);
function subscribe(handlers: SubscriptionEventHandlers, options?: SubscribeOptions): Subscription

参数

handlers
SubscriptionEventHandlers

订阅生命周期的处理程序 - 每个分区的订阅初始化、接收事件、处理错误以及每个分区的订阅关闭。

options
SubscribeOptions

配置事件接收方式。 最常见的是 maxBatchSizemaxWaitTimeInSeconds 控制提供给接收事件的处理程序以及开始位置的事件流。 例如,{ maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

返回