更新时间:2024-04-22 GMT+08:00

创建终端设备模板

功能介绍

该API用于创建一个终端设备模板。

URI

POST /v2/{project_id}/edgemgr/device-templates

表1 Path参数

名称

是否必选

说明

project_id

项目ID,获取方法请参见获取项目ID

请求消息

请求参数

表2 请求Header参数

参数

是否必选

类型

描述

Content-Type

String

消息体的类型(格式)

推荐您使用默认值application/json。

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

ief-instance-id

String

铂金版实例ID,专业版实例为空值

表3 请求Body参数

名称

是否必选

参数类型

说明

device_template

表4 device_template object

设备模板

表4 device_template

名称

是否必选

参数类型

说明

name

String

设备模板名称,只允许中文字符、英文字母、数字、下划线、中划线,最大长度64。

access_protocol

String

访问协议,有如下选项:

  • userdefine:自定义协议
  • modbus:modbus协议
  • opc-ua:opc-ua协议

默认为userdefine

description

String

设备模板描述,最大长度255。

attributes

Object

终端设备静态属性,最多64个键值。

key为属性名称,value格式请参见表6,示例如下。

"attributes": {
            "username": {
                "value": "test",
                "optional": true,
                "metadata": {
                    "type": "string"
                }
            }
        }

twin

Object

终端设备动态属性,最多64个键值。

key为属性名称,value格式请参见表7,示例如下。

"twin": {
            "devicestate": {
                "optional": true,
                "expected": {
                    "value": "running"
                },
                "metadata": {
                    "type": "string"
                }
            }
        }

tags

表5 object

设备模板标签,key-value键值对形式。

property_visitors

Object

孪生属性配置,与access_protocol关联。key为属性名称(与twin的key值保持一致),value格式请参见表25

表5 ResourceTag

名称

是否必选

参数类型

说明

key

String

键。最大长度36个unicode字符。

不能为空,只能包含大小写字母、数字、中划线“-”、下划线“_”。

value

String

值。每个值最大长度43个unicode字符。删除时如果value有值按照key/value删除;如果value没值,则按照key删除。

不能为空,只能包含大小写字母、数字、中划线“-”、下划线“_”。

请求示例

{
    "device_template": {
        "name": "CameraTemplate",
        "access_protocol": "userdefine",
        "description": "This is a camera template",
        "attributes": {
            "cameraURL": {
                "value": "127.0.0.1",
                "optional": true,
                "metadata": {
                    "type": "string"
                }
            }
        },
        "twin": {
            "runstate": {
                "expected": {
                    "value": "running"
                },
                "optional": false,
                "metadata": {
                    "type": "string"
                }
            }
        },
        "tags": {
            "dev": "dev1"
        }
    }
}

响应消息

响应参数

表6 响应Body参数

名称

参数类型

说明

device_template

表7 object

终端设备模板

表7 device_template

名称

参数类型

说明

id

String

终端设备模板ID

name

String

终端设备模板名称

access_protocol

String

访问协议

description

String

终端设备模板描述

attributes

Object

终端设备静态属性,最多64个键值。

key为属性名称,value格式请参见表6,示例如下。

"attributes": {
            "username": {
                "value": "test",
                "optional": true,
                "metadata": {
                    "type": "string"
                }
            }
        }

twin

Object

终端设备动态属性,最多64个键值。

key为属性名称,value格式请参见表21,示例如下。

"devicestate":{ 
                      "expected":{ 
                           "value":"running", 
                           "metadata":{ 
                                "timestamp":1536822119463 
                                } 
                           }, 
                     "optional":true, 
                     "metadata":{ "type":"string" } 
                     }

project_id

String

项目ID

created_at

String

创建时间

access_config

表24 object

访问配置,与access_protocol直接关联。

property_visitors

表25 object

孪生属性配置,与access_protocol关联。

tags

表8 object

设备模板标签,key-value键值对形式。

表8 ResourceTag

名称

参数类型

说明

key

String

标签key值。长度取值范围为1~36,仅允许大小写英文字母、数字、下划线、中划线。

value

String

标签value值。长度取值范围为0~43,仅允许大小写英文字母、数字、下划线、中划线。

响应示例

{
    "device_template": {
        "name": "CameraTemplate",
        "description": "This is a camera template",
        "in_use": null,
        "created_at": "2018-07-16T04:01:21.212072",
        "project_id": "d16e6eb6cc0d49a0941df2f31285757a",
        "id": "82952098-ec24-4643-94e6-9989174fce05",
        "attributes": {
            "cameraURL": {
                "value": "127.0.0.1",
                "metadata": {
                    "type": "string"
                }
            }
            "twin": {
                "runstate": {
                    "expected": {
                        "value": "running"
                    },
                    "metadata": {
                        "type": "string"
                    }
                }
            }
        }
    }
}

错误码

请参见错误码