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

PartitionSender 类

定义

此发送方类是将事件发送到特定 EventHub 分区的逻辑表示形式。 如果不关心将事件发送到特定分区,请不要使用此类,而应使用 SendAsync(EventData)

public sealed class PartitionSender : Microsoft.Azure.EventHubs.ClientEntity
type PartitionSender = class
    inherit ClientEntity
Public NotInheritable Class PartitionSender
Inherits ClientEntity
继承
PartitionSender

属性

ClientId

获取客户端 ID。

(继承自 ClientEntity)
EventHubClient

EventHubClient获取与此 PartitionSender 关联的 。

IsClosed

返回一个布尔值,表示是否关闭客户端对象。

(继承自 ClientEntity)
PartitionId

获取此 PartitionSender的分区 ID。

RegisteredPlugins

获取此客户端当前注册的插件的列表。

(继承自 ClientEntity)
RetryPolicy

RetryPolicy获取 ClientEntity 的 。

(继承自 ClientEntity)

方法

Close()

关闭 ClientEntity。

(继承自 ClientEntity)
CloseAsync()

关闭并释放 的资源 PartitionSender

CreateBatch()

创建一个批,可在其中添加事件数据对象以供以后的 SendAsync 调用使用。

CreateBatch(BatchOptions)

创建一个批,可在其中添加事件数据对象以供以后的 SendAsync 调用使用。

OnRetryPolicyUpdate()

用于替代重试策略更新的派生实体。

(继承自 ClientEntity)
RegisterPlugin(EventHubsPlugin)

EventHubsPlugin注册要用于此客户端的 。

(继承自 ClientEntity)
SendAsync(EventData)

发送到 EventData 特定的 EventHub 分区。 创建此 PartitionSender 时,已预先确定目标分区。 此发送模式强调数据相关性,而多于正式发布和延迟。

有 3 种方法可以发送到 EventHubs,每种方法都公开为方法 (及其 sendBatch 重载) :

i. SendAsync(EventData)SendAsync(IEnumerable<EventData>)

ii. SendAsync(EventData, String)SendAsync(IEnumerable<EventData>, String)

iii. SendAsync(EventData)SendAsync(IEnumerable<EventData>)

在以下的情况下使用此类型的发送:

a. 客户端希望直接控制跨分区的数据分布。 在这种情况下,客户端负责确保每个事件中心分区至少有一个发送方。

b. 用户不能使用分区键作为将事件定向到特定分区的一种方式,但需要将数据与分区方案关联。

SendAsync(EventDataBatch)

在 中EventDataBatch发送一批 。EventData

SendAsync(IEnumerable<EventData>)

发送到 EventData 特定的 EventHub 分区。 创建此 PartitionSender 时,已预先确定目标分区。

有 3 种方法可以发送到 EventHubs,若要了解此特定类型的发送,请参阅重载,该重载 SendAsync(EventData)是同一类型的发送,用于发送单个 EventData

在以下情况下,发送一批 EventData的 很有用:

i. 高效发送 - 发送一批 EventData 通过使用创建到 EventHubs 服务的会话数以最佳方式最大化总体吞吐量。

ii. 在事务中发送多个 EventData。 若要实现 ACID 属性,网关服务会将批处理中的所有 转发 EventData到单个 EventHub 分区。

ThrowIfClosed()

如果客户端对象已关闭,则引发异常。

(继承自 ClientEntity)
UnregisterPlugin(String)

取消注册 EventHubsPlugin

(继承自 ClientEntity)

适用于

另请参阅