你当前正在访问 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 事件中心服务的连接进行身份验证。
有关创建支持 AAD 身份验证的凭据,请参阅@azure/标识。AzureNamedKeyCredential
如果要在不使用连接字符串的情况下传入 和 SharedAccessKey
,SharedAccessKeyName
请使用 from @azure/core-auth。 这些字段分别映射到 name
中的 AzureNamedKeyCredential
和 key
字段。
AzureSASCredential
如果要在不使用连接字符串的情况下传入 ,SharedAccessSignature
请使用 from @azure/core-auth。 此字段在 中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 事件中心服务的连接进行身份验证。
有关创建支持 AAD 身份验证的凭据,请参阅@azure/标识。AzureNamedKeyCredential
如果要在不使用连接字符串的情况下传入 和 SharedAccessKey
,SharedAccessKeyName
请使用 from @azure/core-auth。 这些字段分别映射到 name
中的 AzureNamedKeyCredential
和 key
字段。
AzureSASCredential
如果要在不使用连接字符串的情况下传入 ,SharedAccessSignature
请使用 from @azure/core-auth。 此字段在 中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>
Promise
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 } }