上报文件类型测点信息

设备可以上报文件类型的测点信息,其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 文件大小,单位字节。