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 示例: