在Azure Eventhub接收器中,“在获取EventHub PartitionIds列表时遇到错误”错误

时间:2016-07-21 13:35:28

标签: azure-eventhub

我正在尝试按照教程

实现接收器部分

https://azure.microsoft.com/en-us/documentation/articles/event-hubs-java-ephjava-getstarted/

Failure while registering: com.microsoft.azure.eventprocessorhost.EPHConfigurationException: Encountered error while fetching the list of EventHub PartitionIds

我的eventhub中有16个分区。但是当我发送数据时,我没有指定任何分区。我如何知道我的数据发送到哪个分区?我是否因为所有分区而得到上述错误?

3 个答案:

答案 0 :(得分:2)

理想情况下 - EPH应该使用“倾听” - 只是声明。现在我们在EventProcessorHost客户端代码中有一个bug,因此需要“管理”声明。我们正在努力。

错误“获取EventHub PartitionIds列表时遇到错误”是通用的,并在PartitionManager处抛出,同时查询分区。你遇到了下面的catch块中的一个例外。请指出内部异常的完整性(SEO)&更快的分辨率。

catch(XPathExpressionException|ParserConfigurationException|IOException|InvalidKeyException|NoSuchAlgorithmException|URISyntaxException|SAXException exception)
{
    throw new EPHConfigurationException("Encountered error while fetching the list of EventHub PartitionIds", exception);
}

修改

此问题已在版本0.7.7中修复。

答案 1 :(得分:1)

确保您的消费者sas策略确实包含“manage”而不仅仅是“listen”。 我想它必须具有能够列出分区的管理权限。

答案 2 :(得分:0)

我正在将eventhub与ELK堆栈集成在一起,并且遇到了相同的错误。 为了解决这个问题,我发现在事件中心命名空间所在的事件中心中,我必须允许访问我的ELK堆栈所在的VNET。

这可以通过转到以下页面来完成:EventHubNamespace>设置-防火墙和虚拟网络。 要么允许从所有网络进行访问,要么添加您特定的VNET,子网或IP范围(适用于特定计算机)。

除了将消费者sas策略设置为“管理”之外,这还应解决“获取EventHub PartitionIds列表时遇到的错误”错误。