全部產品
Search
文件中心

:概述

更新時間:Jun 30, 2024

物聯網平台支援裝置通過MQTT協議,將檔案上傳至使用者的OSS空間或者物聯網平台檔案儲存體空間,以減少硬體資源的開銷,並降低開發成本。本文介紹通過配置C Link SDK,協助裝置實現檔案上傳功能。

前提條件

背景資訊

功能原理

裝置的應用程式通過MQTT協議上傳檔案至物聯網平台:

  • 該功能API的詳細資料,請參見aiot_mqtt_upload_api.h

  • 檔案上傳功能基於MQTT串連,更多資訊,請參見MQTT接入

  • 如下功能時序圖,以裝置的應用程式./demos/mqtt_upload_basic_demo.c為例,介紹應用程式實現該功能的流程。MQTT檔案上傳

使用說明

  • 僅中國的華東2(上海)、華北2(北京)和華南1(深圳)地區下,支援裝置通過MQTT協議上傳檔案。

  • 上傳檔案的名稱限制如下:

    • 支援數字、英文字母、底線(_)和英文句點(.)。

    • 首字元僅支援數字和英文字母。

    • 長度不超過100位元組。

  • 檔案上傳功能支援多個檔案上傳。

  • 一個執行個體下,可儲存的檔案總大小不能超過1 GB。

  • 一個裝置下,可儲存的檔案數量不能超過1,000個。

  • 單個檔案不超過16 MB。

  • 裝置向物聯網平台發送上傳檔案請求時,物聯網平台根據檔案名稱,執行以下策略。

    • 若物聯網平台不存在同名檔案,直接建立檔案的上傳任務。

    • 若物聯網平台存在同名檔案,則根據所設定的同名檔案處理策略,執行以下對應操作。範例程式碼及說明,請參見步驟四:請求上傳檔案

      處理策略(conflictStrategy)

      說明

      覆蓋模式(overwrite)

      預設模式,刪除已存在的同名檔案,僅保留最新上傳的檔案。

      檔案追加模式(append)

      發起上傳檔案請求後,物聯網平台返回已存在的同名檔案資訊,裝置端可根據業務需要,選擇以下操作:

      • 如果已存在的同名檔案為未完成上傳的檔案,則裝置繼續執行上傳任務。

        說明

        物聯網平台僅在24小時內保留未完成上傳的檔案。

      • 如果已存在的同名檔案為已完成上傳的檔案,則裝置選擇覆蓋模式或重新命名檔案後,重新上傳檔案。

      拒絕模式(reject)

      物聯網平台返迴文件已存在的錯誤碼,並拒絕再次上傳該檔案。