
# 设备属性上报
#### 功能介绍
用于设备按产品模型中定义的格式将属性数据上报给平台。属性上报和消息上报的区别，请查看[消息通信说明](https://support.huaweicloud.com/usermanual-iothub/iot_01_0045_2.html)。
![](https://support.huaweicloud.com/devg-ocsmartcampus/public_sys-resources/note_3.0-zh-cn.png)
低配置且资源受限或者对网络流量有要求的设备，不适合直接构造JSON数据与物联网平台通信时，可将原始二进制数据透传到物联网平台。通过[开发编解码插件](https://support.huaweicloud.com/devg-iothub/iot_02_9990.html)实现二进制数据到平台定义JSON格式的转换。
#### Topic
上行：$oc/devices/{device_id}/sys/properties/report
![](https://support.huaweicloud.com/devg-ocsmartcampus/public_sys-resources/note_3.0-zh-cn.png)
数据上报的过程中，可以通过在topic后面携带?request_id来指定request_id。比如说消息上报：$oc/devices/{device_id}/sys/properties/report?request_id={request_id}。若不指定，平台会自动生成request_id，用于标识此次请求。
#### 参数说明
| 字段名      | 必选/可选 | 类型                      | 参数描述                                                                                                                                                                     |
|:---|:---|:---|:---|
| services | 必选    | List\<ServiceProperty\> | **参数解释：** 设备服务数据列表（具体结构参考下表ServiceProperty定义表）。 |
   
ServiceProperty结构定义：
| 字段名        | 必选/可选 | 类型     | 参数描述                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| service_id | 必选    | String | **参数解释：** 设备的服务ID，由创建的[产品模型](https://support.huaweicloud.com/devg-iothub/iot_02_0005.html)确定。                                                                                                                                                                                                     |
| properties | 必选    | Object | **参数解释：** 设备服务的属性列表，具体字段在设备关联的产品模型中定义，可以设置多个字段。                                                                                                                                                                                                                                                  |
| event_time | 可选    | String | **参数解释：** 设备采集数据UTC时间（格式可选：秒级别：yyyyMMdd'T'HHmmss'Z'，毫秒级别：yyyy-MM-dd'T'HH:mm:ss.SSS'Z'），如：20161219T114920Z或者2020-08-12T12:12:12.333Z。 设备上报数据不带该参数或参数格式错误时，则数据上报时间以平台时间为准。 |
   
#### 示例
```
Topic: $oc/devices/{device_id}/sys/properties/report  
数据格式：  
{
    "services": [{
            "service_id": "Temperature",
            "properties": {
                "value": 57,
                "value2": 60
            },
            "event_time": "20151212T121212Z"
        },
        {
            "service_id": "Battery",
            "properties": {
                "level": 80,
                "level2": 90
            },
            "event_time": "20151212T121212Z"
        }
    ]
}
```
