上报文件类型测点信息


设备可以上报文件类型的测点信息,其 topic 为 /multipart/sys/{productKey}/{deviceKey}/thing/measurepoint/post HTTP/1.1


上报数据的完整 URL 格式为https://{HTTP_Broker_URL}/multipart/sys/{productKey}/{deviceKey}/thing/measurepoint/post HTTP/1.1。其中:

  • {productKey} 为设备的 product key。

  • {deviceKey} 为设备的 device key。


Body 格式为 multipart/form-data。其中包含了多个 form-data,其中:

  • 必须包含且仅包含一个请求报文。请求报文占用一个 form-data,其格式为“请求报文 form-data”。请求报文 form-data 的 header 和 body 格式参见下文表格。

  • 可以包含一个或多个文件 form-data。如果 body 中包含了文件类型数据,每个文件占用一个 form-data,文件数据格式为“文件 form-data”。“文件 form-data”类型的数据 header 格式见下文表格。如果测点数据不包含文件类型数据,则不需要提供文件 form-data。

上报数据请求示例

POST /topic/sys/{ProductKey}/{DeviceKey}/thing/measurepoint/post HTTP/1.1
Host: {HTTP_Broker_URL}
Query-Parameter: sessionId={SessionId}

body:
请求报文form-data
Content-Disposition: form-data; name="enos-message"
{
"method": "integration.measurepoint.post",
"id": "123",
"version": "1.1",
"params":[
        {
            "productKey": "productKey1",
            "deviceKey": "deviceKey1",
            "time": 1579580182824,
            "measurepoints": {
                     "intMesurepintId1": 123,
                     "fileMeasurepointId1":"local://filename1"
              }
        },
        {
           "assetId": "assetId2",
            "time": 1579580182824,
            "measurepoints": {
                    "intMesurepintId2": 123,
                    "fileMeasurepointId2":"local://filename2"
              }
        }
    ],
"files": {
            "filename1": {
                      "featureId": "fileMeasurepointId1",
                      "produckKey": "productKey1",
                      "deviceKey": "deviceKey1",
                      "md5": "0e202f9b67323d11df8a79b319a3d4f6",
              },
           "filename2": {
                      "featureId": "fileMeasurepointId2",
                      "assetId": "assetId2",
                      "md5": "aa8ea05bdbcbadfcda7300c65c40859f",
              }
     }
}

文件form-data
Content-Disposition: form-data; name="enos-file"; filename="filename1"
Content-Length: 1024000
<文件filename1的内容>

文件form-data
Content-Disposition: form-data; name="enos-file"; filename="filename2"
Content-Length: 1024000
<文件filename2的内容>

返回结果示例

body:
{
    "id":"123",
    "code":200,
    "message": "success",
    "data":{}
}

参数说明

请求报文 form-data 的 header

名称

必需/可选

数据格式

描述

Content-Disposition

必需

Content-Disposition: form-data; name=”enos-message”

name 为常量,表示请求消息体名称。

请求报文 form-data 的 body

名称

必需/可选

数据格式

描述

method

必需

String

请求方法。

id

可选

Int

请求消息 ID。

version

必需

String

版本号。

params

必需

测点数据结构体 Array

资产测点数据的列表,其格式见测点数据结构体表。

files

必需

文件映射 Map

文件与资产测点映射关系,内容为“文件名:文件映射数据结构体”格式的键值对,其格式见文件映射数据结构体表。

备注

以下非必选字段中,使用以下任意一种方法: - 在请求中单独包含 assetId 以指定一个设备或一个逻辑资产 - 在请求中单独包含 productKeydeviceKey 以指定一个设备

测点数据结构体

名称

必需/可选

数据格式

描述

assetId

可选

String

资产的 ID。

productKey

可选

String

设备的 product key。

deviceKey

可选

String

设备的 device key。

time

必需

Long

测点数据的时间戳。

measurepoints

必需

Map

内容为“测点ID:测点值”格式的键值对。如果测点 ID 是文件类型,其值为 local://filename local:// 是固定格式开头。 filename 为文件名称。

文件映射数据结构体

名称

必需/可选

数据格式

描述

featureId

必需

String

测点 ID。

assetId

可选

String

资产的 ID。

productKey

可选

String

设备的 product key。

deviceKey

可选

String

设备的 device key。

md5

可选

String

文件 MD5。

文件 form-data 的 header

名称

必需/可选

数据格式

描述

Content-Disposition

必需

Content-Disposition: form-data; name=”enos-file”; filename=”yourFileName”

name 为固定值,filename 为对应文件名。

Content-Length

必需

Long

文件大小,单位字节。