使用node.js

时间:2015-10-06 13:53:42

标签: javascript java node.js azure azure-eventhub

我是Microsoft活动中心的初学者。我正在使用node js consumer从eventHub中成功读取样本字符串数据。但我需要消耗八位字节流数据。这是我的代码

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);
}
我怎么办?任何想法????

这是我的八位字节流数据Click here to view

1 个答案:

答案 0 :(得分:2)

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

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

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

enter image description here

其次,您需要使用一些C#API(如事件处理器主机API)来接收来自事件中心的消息。请参阅https://azure.microsoft.com/en-us/documentation/articles/event-hubs-programming-guide/#event-consumers。如果你想使用NodeJS来实现它,那么事件中心/服务总线将支持AMQP协议。

所以我认为您想知道如何将文件发送到队列并接收它们以执行某些过程。我建议您使用Azure存储队列来实现您的想法。

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