你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
EventHubConsumerClient class
EventHubConsumerClient
类用于使用事件中心的事件。
有多种方法可以创建 EventHubConsumerClient
- 使用为事件中心实例创建的 SAS 策略中的连接字符串。
- 使用为事件中心命名空间创建的 SAS 策略中的连接字符串,以及事件中心实例的名称
- 使用完整命名空间(如
<yournamespace>.servicebus.windows.net
)和凭据对象。
(可选)还可以传递:
- 用于配置重试策略或代理设置的选项包。
- 客户端用来读取检查点的检查点存储,用于确定应用程序重启时应从何处恢复接收事件的位置。 客户端还使用检查点存储对应用程序的多个实例进行负载均衡。
构造函数
Event |
|
Event |
|
Event |
|
Event |
|
Event |
|
Event |
|
属性
default |
事件中心服务中默认使用者组的名称。 |
event |
创建此客户端的事件中心实例的名称。 |
fully |
创建此客户端的事件中心实例的完全限定命名空间。 这很可能类似于 .servicebus.windows.net。 |
identifier | 用于标识此 EventHubConsumerClient 的名称。 如果未指定或为空,将生成随机唯一值。 |
方法
close() | 关闭与事件中心实例的 AMQP 连接,并返回在断开连接完成后将解析的承诺。 |
get |
提供事件中心运行时信息。 |
get |
提供与事件中心关联的每个分区的 ID。 |
get |
提供有关指定分区的状态的信息。 |
subscribe(string, Subscription |
订阅单个分区中的事件。 对返回的对象调用 close(),以停止接收事件。 示例用法:
|
subscribe(Subscription |
订阅来自所有分区的事件。 如果检查点存储提供给 对返回的对象调用 close(),以停止接收事件。 示例用法:
|
构造函数详细信息
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
客户端用于获取令牌的凭据对象,用于对与 Azure 事件中心服务的连接进行身份验证。
请参阅@azure/标识,了解如何创建支持 AAD 身份验证的凭据。如果要传入 SharedAccessKeyName
和 SharedAccessKey
而不使用连接字符串,请使用 @azure/core-auth 中的 AzureNamedKeyCredential
。 这些字段分别映射到 AzureNamedKeyCredential
中的 name
和 key
字段。
如果要传入 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
客户端用于获取令牌的凭据对象,用于对与 Azure 事件中心服务的连接进行身份验证。
请参阅@azure/标识,了解如何创建支持 AAD 身份验证的凭据。如果要传入 SharedAccessKeyName
和 SharedAccessKey
而不使用连接字符串,请使用 @azure/core-auth 中的 AzureNamedKeyCredential
。 这些字段分别映射到 AzureNamedKeyCredential
中的 name
和 key
字段。
如果要传入 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
要应用于作调用的选项集。
返回
Promise<EventHubProperties>
一个承诺,其中包含有关事件中心实例的信息。
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
要应用于作调用的选项集。
返回
Promise<PartitionProperties>
一个承诺,其中包含有关分区状态的信息。
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
配置事件接收方式。
最常见的是 maxBatchSize
和 maxWaitTimeInSeconds
控制提供给接收事件的处理程序以及开始位置的事件流。 例如,{ 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
配置事件接收方式。
最常见的是 maxBatchSize
和 maxWaitTimeInSeconds
控制提供给接收事件的处理程序以及开始位置的事件流。 例如,{ maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }