UNPKG

@oceanstream/cli

Version:

CLI for managing OceanStream IoT Edge applications on Azure infrastructure

59 lines (51 loc) 1.46 kB
'use strict'; var Transport = require('azure-iot-device-mqtt').Mqtt; var Client = require('azure-iot-device').ModuleClient; var Message = require('azure-iot-device').Message; Client.fromEnvironment(Transport, function (err, client) { if (err) { throw err; } else { client.on('error', function (err) { throw err; }); // connect to the Edge instance client.open(function (err) { if (err) { throw err; } else { console.log('IoT Hub module client initialized'); // Act on input messages to the module. client.on('inputMessage', function (inputName, msg) { pipeMessage(client, inputName, msg); }); } }); } }); // This function just pipes the messages without any change. function pipeMessage(client, inputName, msg) { client.complete(msg, printResultFor('Receiving message')); if (inputName === 'input1') { var message = msg.getBytes().toString('utf8'); if (message) { var outputMsg = new Message(message); client.sendOutputEvent( 'output1', outputMsg, printResultFor('Sending received message') ); } } } // Helper function to print results in the console function printResultFor(op) { return function printResult(err, res) { if (err) { console.log(op + ' error: ' + err.toString()); } if (res) { console.log(op + ' status: ' + res.constructor.name); } }; }