共用方式為


從裝置將檔案上傳至雲端

IoT Central 可讓您將媒體和其他檔案從連線的裝置上傳至雲端儲存體。 您可以在 IoT Central 應用程式中設定檔案上傳功能,然後在裝置程式碼中實行檔案上傳作業。

您也可以管理及預覽 IoT Central 應用程式內裝置上傳的檔案。

若要了解如何使用 IoT Central REST API 來設定檔案上傳,請參閱新增檔案上傳儲存體帳戶設定

必要條件

您必須是IoT Central 應用程式中的系統管理員,才能設定檔案上傳。

您需要 Azure 儲存體帳戶和容器來儲存上傳的檔案。 如果您沒有記憶體帳戶和容器,請在 Azure 入口網站 中建立記憶體帳戶

設定裝置檔案上傳

如何設定裝置檔案上傳:

  1. 移至應用程式中的 [ 應用程式 ] 區段。

  2. 選取 [裝置檔案儲存體]

  3. 選取要使用的儲存體帳戶和容器。 如果記憶體帳戶位於與您應用程式不同的 Azure 訂用帳戶中,請輸入記憶體帳戶連接字串。

  4. 如有需要,請調整上傳超時時間,以設置請求的有效期限。 您可以將它設定為 1 到 24 小時。

  5. 若要讓使用者在 IoT Central 中檢視及管理上傳的檔案,請將 啟用存取 設定為 開啟

  6. 選取 [儲存]。 當狀態顯示 [ 已設定] 時,裝置可以上傳檔案。

顯示正確設定的檔案上傳作業的螢幕擷取畫面。

停用裝置檔案上傳

若要關閉 IoT Central 應用程式中的裝置檔案上傳:

  1. 瀏覽至您應用程式中的 [應用程式] 區段。

  2. 選取 [裝置檔案儲存體]

  3. 選取 [刪除]

控制對所上傳檔案的存取

可使用角色和權限來控制可檢視和刪除上傳檔案的人員。 若要深入了解,請參閱管理 IoT Central 應用程式中的使用者和角色 > 管理裝置

從裝置上傳檔案

IoT Central 會使用 IoT 中樞的檔案上傳功能,讓裝置上傳檔案。 如需示範如何從裝置上傳檔案的範例程序代碼,請參閱 IoT Central檔案上傳裝置範例

檢視和管理上傳的檔案

如果您開啟檔案上傳組態中的檔案存取權,具有適當許可權的使用者可以檢視和刪除上傳的檔案。

重要

與裝置相關聯的 Blob 容器資料夾中的所有檔案都會顯示在該裝置的 [檔案 ] 檢視 中,包括裝置未上傳的任何檔案。

若要檢視和刪除上傳的檔案,請移至裝置的 [ 檔案 ] 檢視。 在此頁面上,您可以看到已上傳檔案的縮圖,並在資源庫和列表檢視之間切換。 每個檔案都有下載或刪除的選項:

顯示已上傳檔案的資源庫檢視的螢幕擷取畫面。

提示

上傳至 Blob 記憶體時指派給檔案的 mime 類型會決定其檔案類型。 預設類型為 binary/octet-stream

依檔名篩選並選擇要顯示的數據行,以自定義清單檢視。

若要預覽檔案內容並取得其詳細資訊,請選取它。 IoT Central 支援一般檔案類型的預覽,例如文字和影像:

顯示文字檔預覽的螢幕擷取畫面。

測試檔案上傳

在 IoT Central 應用程式中 設定檔案上傳 之後,請使用範例程式代碼進行測試。 使用下列命令,將範例存放庫複製到本機電腦上的適當位置,並安裝相依性:

git clone https://github.com/azure-Samples/iot-central-file-upload-device
cd iotc-file-upload-device
npm i
npm build

建立裝置範本並匯入模型

若要測試檔案上傳,請執行範例裝置應用程式。 首先,建立範例裝置的裝置範本:

  1. 在 IoT Central UI 中開啟您的應用程式。

  2. 移至左窗格中的 [裝置範本 ],然後選取 [ + 新增]。

  3. 選取範本類型的 IoT裝置

  4. 自訂頁面上,為裝置範本輸入名稱,例如檔案上傳裝置範例

  5. [檢閱] 頁面上,選取 [建立]

  6. 選取 [匯入模型],然後從您先前下載之存放庫中的資料夾上傳 iotc-file-upload-device\setup 模型檔案。

  7. 選取 [發佈 ] 以完成建立裝置範本。

新增裝置

將裝置新增至 Azure IoT Central 應用程式:

  1. 移至左窗格中的 [裝置 ]。

  2. 選取您稍早建立的 檔案上傳裝置範例 裝置範本。

  3. 選取 [+ 新增],然後選取 [ 建立]。

  4. 選取您建立的裝置,然後選取 [ 連線]。

複製 ID scopeDevice IDPrimary key 的值。 您將在裝置程式碼範例中使用這些值。

執行範例程式碼

開啟您在 VS Code 中下載的 Git 存放庫。 在專案的根目錄建立「.env」檔案,並新增您先前複製的值。 檔案看起來應該像這個範例,其中包含您的值:

scopeId=<YOUR_SCOPE_ID>
deviceId=<YOUR_DEVICE_ID>
deviceKey=<YOUR_PRIMARY_KEY>
modelId=dtmi:IoTCentral:IotCentralFileUploadDevice;1

開啟您在 VS Code 中下載的 Git 存放庫。 若要執行或偵錯範例,請按 F5。 在終端機視窗中,您會看到裝置註冊並連線到 IoT Central:

Starting IoT Central device...
 > Machine: Windows_NT, 8 core, freemem=6674mb, totalmem=16157mb
Starting device registration...
DPS registration succeeded
Connecting the device...
IoT Central successfully connected device: 7z1xo26yd8
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}

範例專案包含名為 datafile.json的範例檔案。 當您在 IoT Central 應用程式中使用 [上傳檔案 ] 命令時,此檔案會上傳。

若要測試上傳,請開啟您的應用程式,然後選取您所建立的裝置。 選取 [ 命令] 索引標籤,然後選取 [ 執行] 按鈕。 當您選取 [ 執行] 時,IoT Central 應用程式會在您的裝置上呼叫直接方法來上傳檔案。 您可以在 /device.ts 檔案的範例程式碼中看到這個直接方法。 此方法名為 uploadFileCommand。 若要測試上傳,請開啟您的應用程式,然後選取您所建立的裝置。 選取 [ 命令] 索引標籤,然後選取 [ 執行] 按鈕。 當您選取 [ 執行] 時,IoT Central 會在裝置上呼叫直接方法來上傳檔案。 您可以在 /device.ts 檔案的範例程式代碼中看到這個方法。 此方法名為 uploadFileCommand

選取 [原始數據] 索引標籤,以檢查檔案上傳狀態。

顯示如何驗證檔案上傳的 U I 螢幕擷取畫面。

您也可以進行 REST API 呼叫,以檢查記憶體容器中的檔案上傳狀態。