上报文件类型测点信息

设备可以上报文件类型的测点信息,其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

文件大小,单位字节。