Ubuntu 20.10 で確認しました。
azure_subscribe.js
# ! /usr/bin/node
// ---------------------------------------------------------------
// azure_subscribe.js
//
// Jan/19/2021
//
// ---------------------------------------------------------------
'use strict'
const { EventHubConsumerClient } = require("@azure/event-hubs");
const eventHubsCompatibleEndpoint = "sb://ihsuprodkwres017dednamespace.servicebus.windows.net/"
const eventHubsCompatiblePath = "iothub-ehub-iot-aa-344012-58f0095d47"
const iotHubSasKey = "QThy0z2eiCOzKcv2Ni5DZCnHL8Gtabcdefghd4pj5D4="
const connectionString = `Endpoint=${eventHubsCompatibleEndpoint};EntityPath=${eventHubsCompatiblePath};SharedAccessKeyName=service;SharedAccessKey=${iotHubSasKey}`;
var printError = function (err) {
console.log(err.message);
};
var printMessages = function (messages) {
for (const message of messages) {
console.log("Telemetry received: ");
console.log(JSON.stringify(message.body));
console.log("");
/*
console.log("Properties (set by device): ");
console.log(JSON.stringify(message.properties));
console.log("System properties (set by IoT Hub): ");
console.log(JSON.stringify(message.systemProperties));
console.log("");
*/
}
};
async function main() {
console.log("IoT Hub Quickstarts - Read device to cloud messages.");
const clientOptions = {
};
const consumerClient = new EventHubConsumerClient("$Default", connectionString, clientOptions);
consumerClient.subscribe({
processEvents: printMessages,
processError: printError,
});
}
main().catch((error) => {
console.error("Error running sample:", error);
});
// ---------------------------------------------------------------
必要な値の取得方法
Event Hub-compatible endpoint
az iot hub show --query properties.eventHubEndpoints.events.endpoint --name {
your IoT Hub name}
Event Hub-compatible name
az iot hub show --query properties.eventHubEndpoints.events.path --name {your
IoT Hub name}
Primary key for the "service" policy to read messages
az iot hub policy show --name service --query primaryKey --hub-name {your IoT
Hub name}
Portal にアクセスして、connectionString を読み取ることもできます。
「イベントハブ互換エンドポイント」になります。
実行コマンド
export NODE_PATH=/usr/lib/node_modules
./azure_subscribe.js
参考ページ
Hub からテレメトリを読み取る