上报文件类型测点信息¶
设备可以上报文件类型的测点信息,其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” | name 为常量,表示请求消息体名称。 |
名称 | 必需/可选 | 数据格式 | 描述 |
---|---|---|---|
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是文件类型,其值为 local://filename local:// 是固定格式开头。 filename 为文件名称。 |
名称 | 必需/可选 | 数据格式 | 描述 |
---|---|---|---|
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 | 文件大小,单位字节。 |