本文主要分享一个案例:

10分钟内通过Device SDK上传文件到IoTHub

B站视频:https://www.bilibili.com/video/av90224073/

本文主要有如下内容:

1. 了解IoT Hub中文件存储在了哪里

2. 使用Node.js Device SDK 上传TXT文件

3. 在Storage中查看IOT设备上传的文件

图文内容:

本案例参考:https://docs.azure.cn/zh-cn/iot-hub/iot-hub-node-node-file-upload

1. 设备经Device SDK 上传到Azure IoT Hub的文件存储到了Storage中,需提前配置好存储文件用的Storage及容器:

2. 使用Node.js SDK上传文件

下载安装Node.js http://nodejs.cn/

安装Node.js SDK:

npm install azure-iot-device azure-iot-device-mqtt --save

安装过程如下图:

新建文件夹,新建upload_to_blob.js,将下列示例代码拷入upload_to_blob.js中

'use strict';

var Protocol = require('azure-iot-device-mqtt').Mqtt;
var Client = require('azure-iot-device').Client;
var fs = require('fs'); var connectionString = 'YOUR DEIVCE CONNECT STRING';
if (!connectionString) {
console.log('Please set the DEVICE_CONNECTION_STRING environment variable.');
process.exit(-1);
} var filePath = 'log.txt'; var client = Client.fromConnectionString(connectionString, Protocol); fs.stat(filePath, function (err, fileStats) {
if (err) {
console.error('could not read file: ' + err.toString());
process.exit(-1);
} else {
var fileStream = fs.createReadStream(filePath); client.uploadToBlob('testblob.txt', fileStream, fileStats.size, function (err) {
fileStream.destroy();
if (err) {
console.error('error uploading file: ' + err.constructor.name + ': ' + err.message);
process.exit(-1);
} else {
console.log('Upload successful');
process.exit(0);
}
});
}
});

使用以下命令创建 package.json 文件。 接受所有默认值:

npm init

在文件夹中创建 log.txt, 内容随意。

至此,文件夹应该如下图所示:

执行如下命令,运行客户端代码:

node upload_to_blob.js

程序提示如下,表示成功上传文件:

进入Azure Storage 容器中,检查上传结果:

Azure IoT Hub 十分钟入门系列 (4)- 实现从设备上传日志文件/图片到 Azure Storage的更多相关文章

  1. Azure IoT Hub 十分钟入门系列 (1)- 10分钟带你了解Azure IoT Hub 并创建IoT Hub

    建议您先对<Azure 上 IoT 整体解决方案概览 >进行了解. 本文主要分享一个案例: 10分钟-了解Azure IoT Hub并创建Azure IoT Hub 本文主要有如下内容: ...

  2. Azure IoT Hub 十分钟入门系列 (3)- 使用消息路由将原始设备数据记录存档

    本文主要分享一个案例: 10分钟使用消息路由将原始设备数据记录存档 B站视频讲解:https://www.bilibili.com/video/av90223893/ 本文主要有如下内容: 1.理解什 ...

  3. Azure IoT Hub 十分钟入门系列 (2)- 使用模拟设备发送设备到云(d2c)的消息

    本文主要分享一个案例: 10分钟- 使用Python 示例代码和SDK向IoT Hub 发送遥测消息 本文主要有如下内容: 了解C2D/D2C消息: 了解IoT Hub中Device的概念 了解并下载 ...

  4. 零基础十分钟学会用git在coding.net上传(pull)和push

    ---恢复内容开始--- 对于入门者来说,特别是刚刚接触计算机的人来说,模仿是最快的学习方式了,先能够会使用(对于初学者来说,这种使用新事物的感觉很能爽的)至于原理,以后再说.下面先让初学者快速的学会 ...

  5. 30分钟连接树莓派到微软云 Azure IoT Hub,并将数据进行可视化

    更多内容,关注公众号: 树莓派是很多动手达人必备的小玩具,本节内容,让我们拿出树莓派,在30分钟内,将树莓派连接到微软云Azure的IoT Hub,然后将温湿度曲线可视化.(本节内容完整视频在文章末尾 ...

  6. Azure IoT Hub和Event Hub相关的技术系列-索引篇

    Azure IoT Hub和Event Hub相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. Azure IoT 技术研究系列1-入门篇 Azure IoT 技术研究系列2-设备注册 ...

  7. Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  8. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  9. 基于Azure IoT开发.NET物联网应用系列-全新的Azure IoT架构

    物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是物联网技术的最大应用,车联网.物联网.互联网三网合一.2017年的时候重点研究过Azure Io ...

随机推荐

  1. python3运行调用htmltestrunner时,报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0

    之前解决过一次,又忘了,这次写下来了..百度没有的,跟我环境有关! 环境:自动化运行环境python3.6.5 上期说到了,写了一个bat来运行runallcase.py. 但是双击运行却报错:Uni ...

  2. python接口自动化之发送post(四)

    1.ssl问题 目前很多的请求使用的都是较为安全的https请求,https请求相对于http安全级别更高,需要验证ssl证书 写代码的时候有两种可以忽略ssl验证的方法 (1)import urll ...

  3. python接口自动化测试之http协议(一)

    1.http(超文本传输)协议:是一个基于请求与响应模式的.无状态的(不会记住每个请求的状态).应用层协议 2.url详解 https://www.baidu.com/s?ie=utf-8&f ...

  4. OrCAD 16.6 自建仿真模型

    今天仿真用到一个三极管,NXP的MMBT2222A,OdCAD自带的库里没找到,于是打算学着自己建立一个仿真模型 http://www.nxp.com/documents/spice_model/MM ...

  5. 使用tableExport.js直接导出web页面上的table

    1,需要导入两个js文件,一个tableExport.js,另一个是jquery.base64.js,前一个文件是导出数据和核心类库,后一个是为了避免导出中文时乱码的js文件,如果你导出的数据没有中文 ...

  6. IntelliJ IDEA 2017.3尚硅谷-----断点调试

  7. Jquery拖拽,拖动排序插件

    上github搜jquery-sortable <!-- jq拖拽排序 --> <script src="${contextPath}/static/excelTable/ ...

  8. 用阿里fastJson解析Json字符串

    一下总结来自工作代码: 1.第一种情况: 通过服务器端发送http请求获取的接送字符串. String jsonStr = HttpRequestUtil.sendGet(config.getAddr ...

  9. Oracle存储过程----存储过程执行简单的增删改查

    1.存储过程执行增加的sql create or replace procedure test_add(id varchar,name varchar,time varchar,age varchar ...

  10. crontab调用python脚本新思路

    crontab调用python脚本文件,有可能失败,定时执行并没有执行,怎么办? 答:写一个shell脚本调用python,然后用crontab调用shell脚本.具体细节,有时间补充. ————— ...