1

Microsoft イベント ハブの初心者です。node 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);
}

私がやること?何か案が ????

これは私のオクテット ストリーム データですここをクリックして表示

4

1 に答える 1

2

私の経験では、ファイルをバイト配列として読み取り、Base64 エンコーディングを使用してそれを文字列に変換し、Base64 文字列を EventHub に送信できます。データを受信したら、Base64 文字列をバイト配列にデコードできます。

ただし、EventHub にはいくつかの制限があるため、この方法はお勧めしません。

まず、Event Hubs イベントの最大サイズは 256 KB です。このクォータを超えるメッセージは拒否され、呼び出し元のコードによって例外が受信されます。https://azure.microsoft.com/en-us/documentation/articles/service-bus-quotas/を参照してください。

ここに画像の説明を入力

次に、イベント プロセッサ ホスト API などの C# API を使用して、Event Hubs からメッセージを受信する必要があります。https://azure.microsoft.com/en-us/documentation/articles/event-hubs-programming-guide/#event-consumersを参照してください。Event Hub/Service Bus は AMQP プロトコルをサポートしていますが、NodeJS を使用してそれを行う場合は困難です。

そこで、ファイルをキューに送信して受信し、何らかの処理を行う方法を知りたいと思います。アイデアを実装するには、Azure Storage Queue を使用することをお勧めします。

NodeJS からのストレージ キューの使用については、 https: //azure.microsoft.com/en-us/documentation/articles/storage-nodejs-how-to-use-queues/およびhttp://azure.github.ioを参照してください。 /azure-storage-node/#toc7 .

于 2015-10-07T06:21:41.797 に答える