本文介绍如何为事件中心配置状态、分区计数、保留时间等属性。
配置状态
创建事件中心后,可以将事件中心的状态更新为在“属性”页上的其中一个值。
如果要向事件中心发送事件以及从事件中心接收事件,请选择“活动”(默认) 。
如果要禁止从事件中心发送和接收事件,请选择“已禁用”。
如果要禁止将事件发送到事件中心,请选择“SendDisabled”。
配置分区计数
在“属性”页中,可查看所有层中事件中心的事件中心的分区数。 它允许您在高级层中更新事件中心的分区计数。 对于其他层级,只能在创建事件中心时指定分区计数。 若要了解事件中心内的分区,请参阅可伸缩性
配置清理策略
可以在“属性”页上看到事件中心的清理策略。 你无法更新它。 默认情况下,每个事件中心在创建时都设置了“删除”清理策略,以在保留时间结束后清除相应事件。 创建事件中心时,可以将清理策略设置为 Compact。 有关详细信息,请参阅日志压缩和配置日志压缩。
配置保留期
如果清理策略设置为删除,则保留时间是事件中心在舍弃事件之前可保留事件的最长时间。 “属性”页允许指定保留时间 (以小时为单位)。
如果在创建事件中心时将清理策略设置为 Compact ,则会自动启用无限保留时间 。 不过,可以设置逻辑删除保留时间 (以小时为单位)。 客户端应用程序可以通过发送包含现有密钥和 null 事件负载的新事件,标记压缩作业期间要删除的事件中心的现有事件。 这些标记称为逻辑删除。
逻辑删除保留时间 (以小时为单位) 是在压缩事件中心保留逻辑删除标记的时间。
Azure CLI
使用 az eventhubs eventhub update 命令为事件中心配置分区计数和保留设置。
- 使用
--status参数将现有事件中心的状态设置为Active、Disabled或SendDisabled或ReceiveDisabled。 - 使用
--partition-count参数来指定分区计数。 仅当现有事件中心位于高级命名空间中时,才能为现有事件中心指定分区计数。 - 使用
--retention-time指定事件中心保留事件的小时数 (如果cleanupPolicy为Delete)。 - 使用
--tombstone-retention-time-in-hours指定保留逻辑删除标记的小时数 (如果cleanupPolicy为Compact)。
Azure PowerShell
通过参数 Set-AzEventHub、-Status 或-RetentionTimeInHour 来使用 TomstoneRetentionTimeInHour。 目前,PowerShell 命令不支持更新事件中心的分区计数。
Azure 资源管理器模板
如果使用 Azure 资源管理器模板,请使用 partitionCount 和 retentionTimeinHours,如以下示例所示。
MYNAMESPACE 是事件中心命名空间的名称,MYEVENTHUB 是此示例中事件中心的名称。
{
"type": "Microsoft.EventHub/namespaces/eventhubs",
"apiVersion": "2022-10-01-preview",
"name": "MYNAMESPACE/MYEVENTHUB ",
"properties": {
"partitionIds": [],
"partitionCount": 1,
"captureDescription": null,
"retentionDescription": {
"cleanupPolicy": "Delete",
"retentionTimeInHours": 1
}
}
}