Azure IoT Hub 十分鐘入門系列 (4)- 實現從設備上傳日誌文件/圖片到 Azure Storage

本文主要分享一個案例:

10分鐘內通過Device SDK上傳文件到IoTHub

 

B站視頻:

Azure IoT Hub 十分鐘入門系列(4)-文件上傳

本文主要有如下內容:

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 容器中,檢查上傳結果:

 

發佈了38 篇原創文章 · 獲贊 4 · 訪問量 1485
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章