从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 。