Create and Associate Asset¶
创建一个逻辑资产,并关联到资产树上。
操作权限¶
需授权的资源 |
所需操作权限 |
---|---|
资产树 |
Full Access |
请求格式¶
POST https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?action=createAsset
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织ID。如何获取orgId信息>> |
treeId |
Query |
必需 |
String |
需要获取的资产树ID。如何获取资产树信息ID>> |
parentAssetId |
Query |
必需 |
String |
待关联资产的父节点的资产ID。 |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
asset |
必需 |
Asset结构体 |
创建资产时需要提供的资产详情。见 Asset结构体>> |
Asset 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
modelId |
必需 |
String |
资产所属模型 ID。如何获取 modelId 信息>> |
name |
必需 |
StringI18n |
支持国际化的资产名称。其结构参见 国际化名称结构体。 |
timezone |
必需 |
String |
资产所属时区。 使用 +08:00 格式表示不支持夏令时的时区。 使用 Asia/Shanghai 格式表示支持夏令时的时区。 详情参见 时区表示方法。 |
description |
可选 |
String |
资产描述。 |
attributes |
可选 |
Map(Key 为 String,Value 为 Object) |
资产所属的模型属性。attributes 的表示方法>> |
tags |
可选 |
Map(Key 为 String,Value 为 String) |
用户自定义标签。标签的作用与表示方法>> |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
String |
创建的资产 ID。 |
错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
17404 |
TreeId is not exist |
Tree ID 不存在。 |
17752 |
Parent assetId is not existed in the tree |
父资产不存在该树上。 |
17762 |
The tree is locked |
一次只允许一个用户修改资产树,暂时不能操作该资产树,请再次请求。 |
17770 |
Exceeding the layer limit(7) |
该树超过最高层数限制(7层)。 |
99400 |
Invalid arguments |
请求参数非法,请检查请求参数。 |
99500 |
System error |
服务器内部错误,请联系EnOS。 |
示例¶
请求示例¶
url: https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?treeId=yourTreeId&action=createAsset&parentAssetId=yourParentAssetId&orgId=yourOrgId
method: POST
requestBody:
{
"asset": {
"modelId": "STRING-INVERTER-MODEL",
"name": {
"defaultValue": "逆变器 #1",
"i18nValue": {
"en_US": "Inverter #1"
}
},
"timezone": "+08:00",
"description": "This is a sample asset.",
"attributes": {
"foo": 100,
"bar": "example"
},
"tags": {
"foo": "bar",
"hello": "world"
}
}
}
返回示例¶
{
"code": 0,
"msg": "ok",
"requestId": "01b5477a-374e-49a0-8b68-7dbfe8f0b74f",
"data": "yourAssetId"
}
SDK 示例¶
你可以在 Github 上获取资产树服务 API 的 SDK 示例: