上报文件类型测点信息¶
设备可以上报文件类型的测点信息,其 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":{}
}
参数说明¶
名称  | 
必需/可选  | 
数据格式  | 
描述  | 
|---|---|---|---|
Content-Disposition  | 
必需  | 
Content-Disposition: form-data; name=”enos-message”  | 
  | 
名称  | 
必需/可选  | 
数据格式  | 
描述  | 
|---|---|---|---|
method  | 
必需  | 
String  | 
请求方法。  | 
id  | 
可选  | 
Int  | 
请求消息 ID。  | 
version  | 
必需  | 
String  | 
版本号。  | 
params  | 
必需  | 
测点数据结构体 Array  | 
资产测点数据的列表,其格式见测点数据结构体表。  | 
files  | 
必需  | 
文件映射 Map  | 
文件与资产测点映射关系,内容为“文件名:文件映射数据结构体”格式的键值对,其格式见文件映射数据结构体表。  | 
备注
以下非必选字段中,使用以下任意一种方法:
在请求中单独包含
assetId以指定一个设备或一个逻辑资产在请求中单独包含
productKey与deviceKey以指定一个设备
名称  | 
必需/可选  | 
数据格式  | 
描述  | 
|---|---|---|---|
assetId  | 
可选  | 
String  | 
资产的 ID。  | 
productKey  | 
可选  | 
String  | 
设备的 product key。  | 
deviceKey  | 
可选  | 
String  | 
设备的 device key。  | 
time  | 
必需  | 
Long  | 
测点数据的时间戳。  | 
measurepoints  | 
必需  | 
Map  | 
内容为“测点ID:测点值”格式的键值对。如果测点 ID 是文件类型,其值为   | 
名称  | 
必需/可选  | 
数据格式  | 
描述  | 
|---|---|---|---|
featureId  | 
必需  | 
String  | 
测点 ID。  | 
assetId  | 
可选  | 
String  | 
资产的 ID。  | 
productKey  | 
可选  | 
String  | 
设备的 product key。  | 
deviceKey  | 
可选  | 
String  | 
设备的 device key。  | 
md5  | 
可选  | 
String  | 
文件 MD5。  | 
名称  | 
必需/可选  | 
数据格式  | 
描述  | 
|---|---|---|---|
Content-Disposition  | 
必需  | 
Content-Disposition: form-data; name=”enos-file”; filename=”yourFileName”  | 
name 为固定值,filename 为对应文件名。  | 
Content-Length  | 
必需  | 
Long  | 
文件大小,单位字节。  |