tencent cloud

文档反馈

资源管理

最后更新时间:2021-08-20 16:27:33

    功能概述

    资源管理主要是用于设备与平台之间,进行资源互传。实现此类功能需利用如下两个 Topic:

    • 数据上行 Topic(用于发布):$resource/up/service/${productid}/${devicename}
    • 数据下行 Topic(用于订阅):$resource/down/service/${productid}/${devicename}

    设备资源上传

    步骤1:设备端创建资源上传任务

    1. 设备端通过 MQTT 协议发布一条消息到 $resource/up/service/${productid}/${devicename},进行创建设备资源上传任务,消息为 json 格式,内容如下:

      {
        "type":"create_upload_task",
        "size":100,
        "name":"zxc",
        "md5sum":"************",
      }
      
    2. 创建成功,后台通过 $resource/down/service/${productid}/${devicename} 返回资源上传的链接,消息为 json 格式,内容如下:

      {
        "type":"create_upload_task_rsp",
        "size":100,
        "name":"zxc",
        "md5sum":"************",
        "url":"https://iothub.cos.ap-guangzhou.myqcloud.com/********"
      }
      

    步骤2:上报资源上传进度

    1. 资源上传使用 HTTP PUT 请求,所以 header 需要添加 MD5 值(base64 编码)。资源上传过程中,设备端通过 $resource/up/service/${productid}/${devicename} 上报资源上传进度,消息为 json 格式,内容如下:

      {
        "type":"report_upload_progress",
        "name":"zxc",
        "progress":{
               "state":"uploading",
               "percent":89,
               "result_code":0,
               "result_msg":""
           }
      }
      
    2. 进度上报响应,通过 $resource/down/service/${productid}/${devicename} 下发给设备,消息为 json 格式,内容如下:

      {
        "type":"report_upload_progress_rsp",
        "result_code":0,
        "result_msg":"ok"
      }
      

    平台资源下发

    步骤1:查询资源下载链接

    1. 设备端通过 $resource/up/service/${productid}/${devicename} 上报消息,查询下载任务,消息为 json 格式,内容如下:

      {
        "type":"get_download_task"
      }
      
    2. 如果存在下载任务,则通过 $resource/down/service/${productid}/${devicename} 下发结果,消息为 json 格式,内容如下:

      {
        "type":"get_download_task_rsp",
        "size":372338,
        "name":"AAAA",
        "md5sum":"a567907174*****3bb9a2bb20716fd97",
        "url":"https://iothub.cos.ap-guangzhou.myqcloud.com/********"
      }
      

    步骤2:上报资源下载进度

    1. 资源下载进度通过 $resource/up/service/${productid}/${devicename} 进行上报,消息为 json 格式,内容如下:

      {
        "type":"report_download_progress",
        "name":"zxc",
        "progress":{
               "state":"downloading",
               "percent":89,
               "result_code":0,
               "result_msg":""
           }
      }
      
    2. 进度上报响应,通过 $resource/down/service/${productid}/${devicename} 下发给设备,消息为 json 格式,内容如下:

      {
        "type":"report_download_progress_rsp",
        "result_code":0,
        "result_msg":"ok"
      }
      
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持