配置事件中心的属性

本文介绍如何为事件中心配置状态、分区计数、保留时间等属性。

配置状态

创建事件中心后,可以将事件中心的状态更新为在“属性”页上的其中一个值。

  • 如果要向事件中心发送事件以及从事件中心接收事件,请选择“活动”(默认) 。

  • 如果要禁止从事件中心发送和接收事件,请选择“已禁用”

  • 如果要禁止将事件发送到事件中心,请选择“SendDisabled”

    事件中心“属性”页面的屏幕截图。

配置分区计数

“属性”页中,可查看所有层中事件中心的事件中心的分区数。 它允许您在高级层中更新事件中心的分区计数。 对于其他层级,只能在创建事件中心时指定分区计数。 若要了解事件中心内的分区,请参阅可伸缩性

配置清理策略

可以在“属性”页上看到事件中心的清理策略。 你无法更新它。 默认情况下,每个事件中心在创建时都设置了“删除”清理策略,以在保留时间结束后清除相应事件。 创建事件中心时,可以将清理策略设置为 Compact。 有关详细信息,请参阅日志压缩配置日志压缩

配置保留期

如果清理策略设置为删除,则保留时间是事件中心在舍弃事件之前可保留事件的最长时间。 “属性”页允许指定保留时间 (以小时为单位)。

如果在创建事件中心时将清理策略设置为 Compact ,则会自动启用无限保留时间 。 不过,可以设置逻辑删除保留时间 (以小时为单位)。 客户端应用程序可以通过发送包含现有密钥和 null 事件负载的新事件,标记压缩作业期间要删除的事件中心的现有事件。 这些标记称为逻辑删除。 逻辑删除保留时间 (以小时为单位) 是在压缩事件中心保留逻辑删除标记的时间。

Azure CLI

使用 az eventhubs eventhub update 命令为事件中心配置分区计数和保留设置。

  • 使用 --status 参数将现有事件中心的状态设置为 ActiveDisabledSendDisabledReceiveDisabled
  • 使用 --partition-count 参数来指定分区计数。 仅当现有事件中心位于高级命名空间中时,才能为现有事件中心指定分区计数。
  • 使用 --retention-time 指定事件中心保留事件的小时数 (如果 cleanupPolicyDelete)。
  • 使用 --tombstone-retention-time-in-hours 指定保留逻辑删除标记的小时数 (如果 cleanupPolicyCompact)。

Azure PowerShell

通过参数 Set-AzEventHub-Status-RetentionTimeInHour 来使用 TomstoneRetentionTimeInHour。 目前,PowerShell 命令不支持更新事件中心的分区计数。

Azure 资源管理器模板

如果使用 Azure 资源管理器模板,请使用 partitionCountretentionTimeinHours,如以下示例所示。 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
		}
	}
}