创建终端设备模板 - CreateDeviceTemplate
功能介绍
该API用于创建一个终端设备模板。
URI
POST /v2/{project_id}/edgemgr/device-templates
|
名称 |
是否必选 |
说明 |
|---|---|---|
|
project_id |
是 |
项目ID,获取方法请参见获取项目ID。 |
请求消息
请求参数
|
参数 |
是否必选 |
类型 |
描述 |
|---|---|---|---|
|
Content-Type |
是 |
String |
消息体的类型(格式) 推荐您使用默认值application/json。 |
|
X-Auth-Token |
是 |
String |
用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
|
ief-instance-id |
否 |
String |
铂金版实例ID,专业版实例为空值 |
|
名称 |
是否必选 |
参数类型 |
说明 |
|---|---|---|---|
|
device_template |
是 |
表4 device_template object |
设备模板 |
|
名称 |
是否必选 |
参数类型 |
说明 |
|---|---|---|---|
|
name |
是 |
String |
设备模板名称,只允许中文字符、英文字母、数字、下划线、中划线,最大长度64。 |
|
access_protocol |
否 |
String |
访问协议,有如下选项:
默认为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。 |
|
名称 |
是否必选 |
参数类型 |
说明 |
|---|---|---|---|
|
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"
}
}
}
响应消息
响应参数
|
名称 |
参数类型 |
说明 |
|---|---|---|
|
device_template |
表7 object |
终端设备模板 |
|
名称 |
参数类型 |
说明 |
|---|---|---|
|
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键值对形式。 |
|
名称 |
参数类型 |
说明 |
|---|---|---|
|
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"
}
}
}
}
}
}
错误码
请参见错误码。