使用 node.js 从 azure eventhub 使用八位字节流数据

Consume octet-stream data from azure eventhub using node.js

我是 Microsoft 事件中心的初学者。我正在使用节点 js 使用者从 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

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

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

首先,事件中心事件的最大大小为 256KB。超过此配额的消息将被拒绝,调用代码将收到异常。请参考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协议会很困难。

所以我认为您想知道如何将文件发送到队列并接收它们以执行某些处理。我推荐你使用 Azure Storage Queue 来实现你的想法。

关于从NodeJS使用Storage Queue,请参考https://azure.microsoft.com/en-us/documentation/articles/storage-nodejs-how-to-use-queues/ and http://azure.github.io/azure-storage-node/#toc7