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

本文主要分享一个案例:

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 容器中,检查上传结果:

原文地址:https://www.cnblogs.com/shuzhenyu/p/12334257.html

时间: 2024-08-28 19:59:03

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

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

本文主要分享一个案例: 10分钟使用消息路由将原始设备数据记录存档 B站视频讲解:https://www.bilibili.com/video/av90223893/ 本文主要有如下内容: 1.理解什么是消息路由,为什么要用消息路由 2.消息路由的类型 3.配置一个到Storage的消息路由,将原始设备消息存储到blob 4.配置一个到Storage的消息路由,当温度>30°C时,才存储下来 图文讲解: 本文参照官网:https://docs.azure.cn/zh-cn/iot-hub/tut

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

Azure IoT Hub和Event Hub相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. Azure IoT 技术研究系列1-入门篇 Azure IoT 技术研究系列2-设备注册到Azure IoT Hub Azure IoT 技术研究系列3-设备到云.云到设备通信 Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别 Azure IoT 技术研究系列5-Azure IoT Hub与Event Hub比较 Azure Event Hub 技术研究系

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

上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT Hub, 设备到云通信,云到设备通信. 整体篇幅较大,我们先来第一步:将模拟设备注册到Azure IoT Hub. 首先,我们需要有一个联网的设备,例如树莓派.Win10 IoT设备等等,只要能联网,Azure IoT Hub有编程SDK即可,为了方便演示,本篇中我们做了一个模拟设备: TeldP

Microsoft Azure IoT Hub应用 – 第一部分:向云端发送数据

By Toradex Leonardo Graboski Veiga 1). 简介 物联网(Internet of Things)概念的本质其实就是关于发送数据到网络,所以称为云服务.随着时代发展和技术进步,人们可以使用尺寸更小功耗更低的电子设备并很容易的连接到云端,不过有一个问题却始终困扰着电子工程师们:如何使用这些获取的数据?而这正是物联网的主题. 在Microsoft主页上面有一些实际的应用例子来展示IoT的应用:一个电梯公司通过物联网来改善并提供预先维护:一个工业自动化公司通过物联网深入

十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less))

十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less)) 注:本文为翻译文章,因翻译水平有限,难免有缺漏不足之处,可查看原文. 我们知道写css代码是非常枯燥的,尤其是写重复颜色.样式的代码,这需要我们付出很多努力来保持css代码可维护,但是它本不应该是这样的. 很幸运地是,web开发社区已经解决了这个问题,我们在现在已经有了类似与less.sass和stylus这样的预处理器.它们有很多优于一般的css之处,如下所示: 变量---以至于我们可以在样式表中

【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信

在2015年曾写过一篇文章<从微软build 2015,展望微软未来发展>,提到了微软的Azure和Windows 10 IoT,那算是初次接触微软物联网技术.比较幸运的是在后续的时间里,有幸和微软相关部门进行了深入合作,对微软的Azure云及Windows 10 IoT有了更深的了解. 除了最初的基于树莓派平台做了微软利事盒教育箱(如下图所示)外,尤为重要的是基于台湾新汉的NISE50 Windows 10 IoT工控级网关对接微软Azure IoT Hub平台开发了养殖监控系统,后续在潍坊

git入门学习(二):新建分支/上传代码/删除分支

一.git新建分支,上传代码到新的不同分支 我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有webpack_test项目了,我是在这个项目的基础上新建其他的分支并开展工作的.如图: 如果你对如何新建webpack_test项目不清楚,请参考我的前一篇文章:git入门学习(一):github for windows上传本地项目到github,操作步骤如下: 1.1.保留webpack_test项目

Python十分钟入门

初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(CheatSheet)之间,因此只会包含一些基本概念.很显然,如果你希望真正学好一门语言,你还是需要亲自动手实践的.在此,我会假定你已经有了一定的编程基础,因此我会跳过大部分非Python语言的相关内容.本文将高亮显示重要的关键字,以便你可以很容易看到它们.另外需要注意的是,由于本教程篇幅有限,有很多内容我会

流编辑器 SED 十分钟入门全教程

这里借用一下酷壳网sed博文的图来开题,超赞的-- 1. sed 简介及原理简析 1.1 sed 简介 Sed 是什么?相信很多人都有所了解,sed 全称StreamEDitor 即流编辑器.生于1973年or 1974年by 贝尔实验室的 Lee E. McMahon(已故),是基于交互式编辑器ed("editor", 1971)的脚本功能及更早的qed(quick editor ,1965-1966)(Sed 比 awk 要大那么几岁,所以客官莫急,过几天我们再来详解 awk).S