从azure eventhub使用node.js消耗八位字节stream数据

Iam是微软事件中心的初学者。 我正在使用node js consumer从eventHub读取样本string数据。 但我需要消耗八位字节stream数据。 这是我的代码

var messageHandler = function (myIdx, msg) { console.log("############# Inside Message Handler #######"); console.log(msg.body); } 

我没有得到正确的数据。 但是我成功从txt文件中读取数据。 这是我的代码

 fs.readFile('/home/test/19_6.txt', function (err, data) { console.log(data); } 

我做的事? 任何想法 ????

这是我的八位字节stream数据点击这里查看

根据我的经验,你可以读取一个文件作为字节数组,并使用Base64编码将其转换为string,然后将Base64string发送到EventHub。 当您收到数据时,您可以将Base64string解码为一个字节数组。

但是我不推荐这种方式,因为EventHub有一些限制。

首先,事件中心事件的最大大小为256KB。 超过此限额的邮件将被拒绝,并且调用代码将收到一个exception。 请参阅https://azure.microsoft.com/en-us/documentation/articles/service-bus-quotas/

在这里输入图像说明

其次,您需要使用一些C#API(如事件处理器主机API)来接收来自事件中心的消息。 请参阅https://azure.microsoft.com/en-us/documentation/articles/event-hubs-programming-guide/#event-consumers 。 如果您想使用NodeJS来完成,那么Event Hub / Service Bus支持AMQP协议将会很困难。

所以我认为你想知道如何将文件发送到队列,并接收他们做一些处理。 我build议您使用Azure存储队列来实现您的想法。

关于使用NodeJS的存储队列,请参考https://azure.microsoft.com/en-us/documentation/articles/storage-nodejs-how-to-use-queues/和http://azure.github.io / azure-storage-node /#toc7 。