当我将Azure Event Hub捕获到任何数据存储(Azure Blob存储或Azure Data Lake)时,它也会每5分钟发送508 B消息头(空消息)。
如何解决此问题?因为我们想将此机制用于日志记录系统,这会干扰我们。
答案 0 :(得分:0)
为什么此功能会给日志系统带来麻烦?
即使未接收到事件,事件中心的捕获功能也会触发,具体取决于配置的时间间隔;这是一种让您知道捕获工作正常的方法。 正如this link
中指出的那样配置完成后,事件中心捕获将在您发送第一个事件时自动运行,并继续运行。为了使您的下游处理更容易知道该进程正在运行,Event Hubs在没有数据时写入空文件。此过程提供了可预测的节奏和标记,可以为您的批处理程序供餐。
如果您还查看Python示例https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-capture-python#create-a-python-script-to-read-your-capture-files,您会发现该代码仅考虑大小大于508字节的非空文件。
答案 1 :(得分:0)
您可能知道,但事件中心捕获现在提供关闭发送这些空文件的选项。
在配置事件中心捕获时,有一个标记为“在捕获时间窗口内未发生事件时不发出空文件”的复选框。