使用日志压缩

本文介绍如何使用事件中心内的日志压缩功能。 若要了解日志压缩的详细信息,请参阅日志压缩

在本文中,你将执行以下关键步骤:

  • 创建压缩的事件中心/Kafka 主题。
  • 将事件发布到压缩的事件中心。
  • 使用来自压缩的事件中心的事件。

注意

基本层不支持日志压缩功能。

创建压缩的事件中心/Kafka 主题

本部分介绍如何使用 Azure 门户和 Azure 资源管理器 (ARM) 模板创建压缩的事件中心。

可以按照以下步骤使用 Azure 门户创建压缩的事件中心。

  1. 导航到事件中心命名空间。
  2. 在“事件中心命名空间”页上,选择左侧菜单中的“事件中心”。
  3. 在窗口顶部,选择“+ 事件中心”。 Screenshot of event hub creation UI.
  4. 键入事件中心的名称,并指定分区计数。 由于我们要创建一个压缩的事件中心,因此请选择“压缩”作为压缩策略,并为“逻辑删除保留时间”提供所需的值。 Screenshot of the event hubs creation UI with compaction related attributes.
  5. 选择“创建”并创建压缩的事件中心。

触发压缩

事件中心服务会确定何时应执行给定已压缩事件中心的压缩作业。 当存在大量事件或给定事件日志的总大小显著增加时,压缩的事件中心将达到压缩阈值。

将事件发布到压缩的主题

将事件发布到压缩的事件中心与将事件发布到常规事件中心相同。 对于客户端应用程序,只需确定要使用分区键设置的压缩键即可。

使用事件中心 SDK (AMQP)

使用事件中心 SDK 可以设置分区键并发布事件,如下所示:

var enqueueOptions = new EnqueueEventOptions
{
    PartitionKey = "Key-1"

};
await producer.EnqueueEventAsync(eventData, enqueueOptions);

使用 Kafka

使用 Kafka 可以在创建 ProducerRecord 时设置分区键,如下所示:

ProducerRecord<String, String> record = new ProducerRecord<String, String>(TOPIC, "Key-1" , "Value-1");

配额和限制

限制 基本 标准 高级 专用
压缩事件中心的大小 空值 每个分区 1 GB 每个分区 250 GB 每个分区 250 GB

有关其他配额和限制,请参阅事件中心配额和限制

使用来自压缩的主题的事件

无需在使用者端进行更改即可使用来自压缩的事件中心的事件。 因此,可以通过任何现有使用者应用程序使用来自压缩的事件中心的数据。

后续步骤

  • 有关日志压缩的工作原理的概念信息,请参阅日志压缩