Azure EventHub:如何获取现有 EventHub 的分区键列表
Azure EventHub : How can I get list of partition keys for an existing EventHub
我有一个已经有记录的 Azure EventHub。我需要在此 EventHub 中获取唯一分区键的列表。我需要在 processor/consumer 中将其用于特定的自定义逻辑。感谢任何建议或解决方法。
我不确定您是否可能将 partition id
和 partition key
混为一谈;前者是事件中心的核心概念,可以使用任何受支持语言的 SDK、命令行或 REST 接口直接查询。可以找到 .NET 客户端库的示例 here。
事件中心服务不会保留或公开发布事件时使用的分区键。发布带有分区键的事件批次时,服务会根据该键生成一个散列,并将该散列值用于 select 事件应路由到的分区。相同的密钥保证产生相同的散列并路由到相同的分区。由于哈希值对于给定的键是稳定的,并且键本身对服务没有意义,所以它是按需计算的。
在您的情况下,您似乎想了解当您从服务读取事件时在下游使用者中发布事件时使用的密钥。我建议使用事件的 Properties
包来保持您选择的密钥并将其与事件相关联。
Properties
旨在保存对您的应用程序有意义的任意数据,并在事件通过系统时将其与您的事件捆绑在一起。可以找到使用 .NET 客户端库在 Properties
中包含自定义元数据的示例 here。
我有一个已经有记录的 Azure EventHub。我需要在此 EventHub 中获取唯一分区键的列表。我需要在 processor/consumer 中将其用于特定的自定义逻辑。感谢任何建议或解决方法。
我不确定您是否可能将 partition id
和 partition key
混为一谈;前者是事件中心的核心概念,可以使用任何受支持语言的 SDK、命令行或 REST 接口直接查询。可以找到 .NET 客户端库的示例 here。
事件中心服务不会保留或公开发布事件时使用的分区键。发布带有分区键的事件批次时,服务会根据该键生成一个散列,并将该散列值用于 select 事件应路由到的分区。相同的密钥保证产生相同的散列并路由到相同的分区。由于哈希值对于给定的键是稳定的,并且键本身对服务没有意义,所以它是按需计算的。
在您的情况下,您似乎想了解当您从服务读取事件时在下游使用者中发布事件时使用的密钥。我建议使用事件的 Properties
包来保持您选择的密钥并将其与事件相关联。
Properties
旨在保存对您的应用程序有意义的任意数据,并在事件通过系统时将其与您的事件捆绑在一起。可以找到使用 .NET 客户端库在 Properties
中包含自定义元数据的示例 here。