本文主要分享一个案例:
通过Service SDK获取文件上传通知;
本文的前提是《Azure IoT Hub 十分钟入门系列 (4)- 实现从设备上传日志文件/图片到 Azure Storage(Node.js示例)》。
本文主要有如下内容:
1. 在IoT Hub中打开文件上传通知
2. 使用Node.js Service SDK 接受文件上传通知
视频介绍:
图文介绍:
1. 在IoT Hub中打开文件上传通知:
2. 使用如下示例代码:
3.安装SDK:
npm init
回车->回车确认,直到出现如下的package.json界面:
执行
npm install azure-iothub --save
4.修改Service 侧代码中的连接字符串:
修改后的Service 侧代码如下:
'use strict';
var Client = require('azure-iothub').Client;
//var connectionString = process.env.IOTHUB_CONNECTION_STRING;
var connectionString = "your iot hub connection string";
if (!connectionString) {
console.log('Please set the IOTHUB_CONNECTION_STRING environment variable.');
process.exit(-1);
}
var client = Client.fromConnectionString(connectionString);
client.open(function (err) {
if (err) {
console.error('Could not connect: ' + err.message);
process.exit(-1);
} else {
console.log('Client connected');
client.getFileNotificationReceiver(function(err, receiver) {
if(err) {
console.error('Could not get file notification receiver: ' + err.message);
process.exit(-1);
} else {
receiver.on('message', function(msg) {
console.log('File uploaded: ');
console.log(msg.data.toString());
receiver.complete(msg, function(err) {
if (err) {
console.error('Could not complete the message: ' + err.message);
process.exit(-1);
} else {
console.log('Message completed');
process.exit(0);
}
});
});
}
});
}
});
5.运行Service 侧代码:
node receive_file_notifications.js
6.运行Device 侧代码,上传文件,从Service 侧接收文件上传通知:
注意,device侧代码运行参照文档《Azure IoT Hub 十分钟入门系列 (4)- 实现从设备上传日志文件/图片到 Azure Storage(Node.js示例)》
执行:
node upload_to_blob.js
Service 侧立刻收到通知: