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