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

EventHubProducerClient 类

定义

负责发布到 EventData 特定事件中心的客户端,分批分组到一起。 根据发送时指定的选项,可以自动为事件分配可用分区,也可以请求特定的分区。

立即 EventHubProducerClient 发布,确保每个发送操作的确定性结果,但要求调用方负责生成和管理批处理。

如果立即发布事件并不重要,并且不需要最大化分区可用性,则建议考虑使用 EventHubBufferedProducerClient,它负责生成和管理批处理,以减少在应用程序代码中执行此操作的复杂性。

public class EventHubProducerClient : IAsyncDisposable
type EventHubProducerClient = class
    interface IAsyncDisposable
Public Class EventHubProducerClient
Implements IAsyncDisposable
继承
EventHubProducerClient
实现

注解

建议在以下情况下允许分区分配:

  • 发送事件需要高度可用。
  • 事件数据应在所有可用分区之间均匀分布。

如果未指定分区,则使用以下规则自动选择分区:

  1. 使用轮循机制方法在所有可用分区之间平均分配事件。
  2. 如果某个分区不可用,事件中心服务将自动检测它,并将消息转发到另一个可用分区。

可以 EventHubProducerClient 安全地缓存并在应用程序的生存期内使用,这是应用程序定期或半定期发布事件时的最佳做法。 生成者负责确保高效的网络、CPU 和内存使用。 CloseAsync(CancellationToken)在应用程序关闭时调用 或 DisposeAsync() 将确保正确清理网络资源和其他非托管对象。

构造函数

EventHubProducerClient()

初始化 EventHubProducerClient 类的新实例。

EventHubProducerClient(EventHubConnection, EventHubProducerClientOptions)

初始化 EventHubProducerClient 类的新实例。

EventHubProducerClient(String)

初始化 EventHubProducerClient 类的新实例。

EventHubProducerClient(String, EventHubProducerClientOptions)

初始化 EventHubProducerClient 类的新实例。

EventHubProducerClient(String, String)

初始化 EventHubProducerClient 类的新实例。

EventHubProducerClient(String, String, AzureNamedKeyCredential, EventHubProducerClientOptions)

初始化 EventHubProducerClient 类的新实例。

EventHubProducerClient(String, String, AzureSasCredential, EventHubProducerClientOptions)

初始化 EventHubProducerClient 类的新实例。

EventHubProducerClient(String, String, EventHubProducerClientOptions)

初始化 EventHubProducerClient 类的新实例。

EventHubProducerClient(String, String, TokenCredential, EventHubProducerClientOptions)

初始化 EventHubProducerClient 类的新实例。

属性

EventHubName

生成者连接到的事件中心的名称,特定于包含它的事件中心命名空间。

FullyQualifiedNamespace

与生成者关联的完全限定的事件中心命名空间。 这可能类似于 {yournamespace}.servicebus.windows.net

Identifier

用于标识此生成者的唯一名称。

IsClosed

指示此 EventHubProducerClient 是否已关闭。

方法

CloseAsync(CancellationToken)

关闭生成者。

CreateBatchAsync(CancellationToken)

创建可以使用基于 try 的模式添加到的大小 EventData 约束批。 如果事件超过批允许的最大大小,该批将不允许添加事件并使用其返回值发出该方案信号。

由于无法添加违反大小约束的事件,因此发布批处理不会在尝试将事件发送到事件中心服务时触发异常。

CreateBatchAsync(CreateBatchOptions, CancellationToken)

创建可以使用基于 try 的模式添加到的大小 EventData 约束批。 如果事件超过批允许的最大大小,该批将不允许添加事件并使用其返回值发出该方案信号。

由于无法添加违反大小约束的事件,因此发布批处理不会在尝试将事件发送到事件中心服务时触发异常。

DisposeAsync()

执行清理 使用 EventHubProducerClient的资源所需的任务,包括确保客户端本身已关闭。

GetEventHubPropertiesAsync(CancellationToken)

检索与连接关联的事件中心的相关信息,包括存在的分区数及其标识符。

GetPartitionIdsAsync(CancellationToken)

检索事件中心分区的标识符集。

GetPartitionPropertiesAsync(String, CancellationToken)

检索有关事件中心的特定分区的信息,包括描述分区事件流中可用事件的元素。

SendAsync(EventDataBatch, CancellationToken)

使用批处理方法将一组事件发送到关联的事件中心。

SendAsync(IEnumerable<EventData>, CancellationToken)

将一组事件作为单个操作发送到关联的事件中心。 为了避免与在客户端中测量和验证大小相关的开销,验证将委托给事件中心服务,并延迟到调用操作为止。 如果指定的事件集的大小超过单个批允许的最大大小,则调用将失败。

SendAsync(IEnumerable<EventData>, SendEventOptions, CancellationToken)

将一组事件作为单个操作发送到关联的事件中心。 为了避免与在客户端中测量和验证大小相关的开销,验证将委托给事件中心服务,并延迟到调用操作为止。 如果指定的事件集的大小超过单个批允许的最大大小,则调用将失败。

适用于

另请参阅