物接入IoT Hub

    设备模板管理

    在新版物管理中,我们引入了模板的概念,模板定义了一类设备的schema。Schema中定义了各设备各属性的显示名称、类型、默认值等信息。可以理解为,通过模板,我们定义了设备的视图(view)。此外,我们需要支持模板的CRUD操作。IoT Device Management Schema API 主要包含管理设备模板的相关接口。

    创建模板

    方法 API 说明
    POST /v3/iot/management/schema 创建模板

    请求参数

    参数名称 参数类型 是否必须 说明
    name String 必须 模板名称
    description String 可选 模板说明
    properties List<SchemaProperty> 必须 模板属性列表

    返回参数

    参数名称 参数类型 说明
    schemaId String 模板ID

    请求示例

    POST /v3/iot/management/schema HTTP/1.1 
    Host:iotdm.gz.baidubce.com 
    Authorization:{authorization} 
    Content-Type: application/json; charset=utf-8 
    {
        "name": "myFirstSchema",
        "description": "description",
        "properties": [
            {
                "name": "temperature",
                "type": "number",
                "displayName": "温度",
                "defaultValue": "38.2",
                "unit": "deg"
            },
            {
                "name": "pressure",
                "type": "number",
                "displayName": "压力",
                "defaultValue": "9",
                "unit": "MPa"
            }
        ]
    }

    返回示例

    HTTP/1.1 200 OK 
    Content-Type: application/json; charset=utf-8 
    x-bce-request-id: 993ff7e9-018b-4246-a7ba-5dddac970054 
    { 
        "schemaid": "ab13ef935b84173a0f41f90c33daa87"
    }

    删除模板

    方法 API 说明
    DELETE /v3/iot/management/schema/{schemaId} 根据schemaId删除模板

    请求示例

    DELETE /v3/iot/management/schema/mySchema HTTP/1.1 
    Host:iotdm.gz.baidubce.com 
    Authorization:{authorization} 

    返回示例

    HTTP/1.1 200 OK 
    Content-Type: application/json; charset=utf-8 
    x-bce-request-id: 993ff7e9-018b-4246-a7ba-5dddac970054

    注:删除模板,要求没有设备引用该模板。否则,会抛出异常。

    获取模板列表

    方法 API 说明
    GET /v3/iot/management/schema?pageNo=xx&pageSize=xx&order=xx&orderBy=xx&key=xx 根据条件查询模板列表

    请求参数

    参数名称 参数类型 是否必须 说明
    pageNo int 可选 获取列表在查询结果的页码,默认为1
    pageSize int 可选 一页所包含的最大模板数量,默认为10
    order String 可选 查询结果升序或降序排列,asc ¦ desc,默认asc
    orderBy String 可选 排序的索引列,name ¦ createTime ¦ lastUpdatedTime,默认name
    key String 可选 查询关键字,模板名称

    返回参数

    参数名称 参数类型 说明
    totalCount int 模板总数
    pageNo int 当前页码
    pageSize int 一页所包含的最大模板数量
    result List<Schema> 模板参数列表

    请求示例

    GET /v3/iot/management/schema?pageNo=1&pageSize=200&order=asc&orderBy=name&key=myFirstSchema HTTP/1.1 
    Host:iotdm.gz.baidubce.com 
    Authorization:{authorization}

    返回示例

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    x-bce-request-id: 993ff7e9-018b-4246-a7ba-5dddac970054
    {
        "totalCount": 1,
        "pageNo": 1,
        "pageSize": 200,
        "result": [
            {
                "id": "1234939554",
                "name": "myFirstSchema",
                "description": " desc",
                "createTime": 1494904250,
                "lastUpdatedTime": 1494904250,
                "properties": [
                    {
                        "name": "temperature",
                        "type": "number",
                        "displayName": "温度",
                        "defaultValue": "38.2",
                        "unit": "deg"
                    },
                    {
                        "name": "pressure",
                        "type": "number",
                        "displayName": "压力",
                        "defaultValue": "9",
                        "unit": "MPa"
                    }
                ]
            }
        ]
    }

    获取模板

    方法 API 说明
    GET /v3/iot/management/schema/{schema_id} 根据模板ID获取模板详情

    返回参数

    一个Schema实例

    请求示例

    GET /v3/iot/management/schema/1234939554 HTTP/1.1
    Host:iotdm.gz.baidubce.com
    Authorization:{authorization}

    返回示例

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    x-bce-request-id: 993ff7e9-018b-4246-a7ba-5dddac970054
    {
        "id": "1234939554",
        "name": "myFirstSchema",
        "description": " desc",
        "createTime": 1494904250,
        "lastUpdatedTime": 1494904250,
        "properties": [
            {
                "name": "temperature",
                "type": "number",
                "displayName": "温度",
                "defaultValue": "38.2",
                "unit": "deg"
            },
            {
                "name": "pressure",
                "type": "number",
                "displayName": "压力",
                "defaultValue": "9",
                "unit": "MPa"
            }
        ]
    }

    更新模板

    方法 API 说明
    PUT /v3/iot/management/schema/{schema_id} 根据模板ID更新设备模板

    请求参数

    参数名称 参数类型 是否必须 说明
    description String 可选 模板说明
    properties List<SchemaProperty> 可选 模板属性列表

    请求示例

    PUT  /v3/iot/management/schema/1234939554 HTTP/1.1
    Host:iotdm.gz.baidubce.com
    Authorization:{authorization}
    {
        "description": "new description",
    	"properties": [
            {
                "name": "temperature",
                "type": "number",
                "displayName": "温度",
                "defaultValue": "38.3",
                "unit": "deg"
            },
            {
                "name": "pressure",
                "type": "number",
                "displayName": "压力",
                "defaultValue": "9",
                "unit": "MPa"
            },
            {
                "name": "speed",
                "type": "number",
                "displayName": "速度",
                "defaultValue": "5",
                "unit": "mps"
            }
        ]
    }

    返回示例

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    x-bce-request-id: 993ff7e9-018b-4246-a7ba-5dddac970054
    一篇
    设备列表管理
    一篇
    物管理数据写入TSDB