更新时间:2023-02-01 GMT+08:00
分享

修改资产

功能介绍

修改资产

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

PUT /v1/{project_id}/assets/{asset_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

最大长度:128

asset_id

String

资产ID

最大长度:256

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

租户Token

最大长度:65535

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

资产名称,修改资产时,null或不携带代表不修改,正则:"^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"

最大长度:64

display_name

String

资产显示名称,修改资产时,""代表配置为空、null或不携带代表不修改,正则:"^[\u4E00-\u9FA5A-Za-z0-9_@#.-]{0,64}$"

最大长度:64

parent

String

父资产ID,根资产的父资产ID为null,修改资产时,null或不携带代表不修改

最大长度:128

properties

Array of PropertyRequest objects

属性集,最多200个

analyses

Array of AnalysisRequest objects

分析任务集,最多50个

表4 PropertyRequest

参数

是否必选

参数类型

描述

name

String

属性名称,必须是模型中已存在的

最大长度:64

value

Object

值,只有static型属性可以填写

device_id

String

设备ID,只有measurement型属性可以填写

最大长度:128

表5 AnalysisRequest

参数

是否必选

参数类型

描述

name

String

分析任务名,必须是模型中已存在的

最大长度:64

transform

DTTransformRequest object

转换计算

aggregate

DTAggregateRequest object

聚合计算

stream

DTStreamRequest object

流计算

表6 DTTransformRequest

参数

是否必选

参数类型

描述

inputs

Array of InputRequest objects

输入参数,最多支持10个

outputs

Array of OutputRequest objects

输出配置请求

表7 DTAggregateRequest

参数

是否必选

参数类型

描述

inputs

Array of InputRequest objects

输入参数,最多支持10个

outputs

Array of OutputRequest objects

输出配置请求

表8 OutputRequest

参数

是否必选

参数类型

描述

name

String

输出参数名称,formulas中定义的name

最大长度:128

output_static_asset_id

String

输出资产ID,填写模型中定义的输出模型对应的某资产ID;创建资产时,如果是输出到本资产的模型,且output_static_asset_id和output_dynamic_asset_id都未配置,则后台自动配置output_static_asset_id为本资产ID;修改资产时,如果output_static_asset_id为null则表示置空

最大长度:128

output_dynamic_asset_id

String

输出资产ID,填写公式动态生成资产ID,可根据入参获取资产ID,如:GetAssetId("assetmodelName1","staticPropertyName1",paramA);修改资产时,如果output_static_asset_id为null则表示置空

最大长度:1024

表9 DTStreamRequest

参数

是否必选

参数类型

描述

inputs

Array of InputRequest objects

输入参数,最多支持10个

表10 InputRequest

参数

是否必选

参数类型

描述

name

String

参数名,正则: "^[A-Za-z][A-Za-z_]{0,31}$"

最大长度:32

property_reference

PropertyReferenceReq object

属性引用

表11 PropertyReferenceReq

参数

是否必选

参数类型

描述

asset_id

String

引用的资产ID,只有single型参数才能填写,可填写null置空

最大长度:128

响应参数

状态码: 200

表12 响应Body参数

参数

参数类型

描述

asset_id

String

资产ID

asset_model_id

String

资产模型ID

asset_model_name

String

资产模型名称

name

String

资产名称

display_name

String

资产显示名称

properties

Array of PropertyResponse objects

属性集

analyses

Array of AnalysisResponse objects

分析任务集

root

String

根资产ID

parent

String

父资产ID,根资产的父资产ID为null

children

Array of strings

子资产ID集

state

String

资产状态,正常状态(ACTIVE),异常状态(INACTIVE);只有草稿态(SKETCH)资产有此状态;资产处于异常状态的场景有:1、该资产存在未填写设备ID的测量数据类别的属性;2、该资产存在未填写静态值的静态配置类别的属性;3、该资产存在分析任务,该分析任务的输入参数存在属性引用类型为引用其他资产属性,且没有为该输入参数配置引用的其他资产的资产ID

publish_state

String

资产发布状态,发布中(PUBLISHING),发布完成(PUBLISHED);只能对草稿态(SKETCH)的根资产进行发布,也只有草稿态的根资产有此字段;如果根资产从未发布过则值为null

created_time

String

创建时间,格式"yyyy-MM-dd'T'HH:mm:ss'Z'"

modified_time

String

修改时间,格式"yyyy-MM-dd'T'HH:mm:ss'Z'"

published_time

String

发布时间,只能对草稿态(SKETCH)的根资产进行发布,也只有草稿态的根资产有此字段;如果从未发布过则值为null;格式"yyyy-MM-dd'T'HH:mm:ss'Z'"

表13 PropertyResponse

参数

参数类型

描述

device_id

String

设备ID

property_id

String

属性ID

name

String

属性名称,正则:"^[a-zA-Z0-9_]{1,64}$"

最大长度:64

display_name

String

属性显示名称,正则:"^[\u4E00-\u9FA5A-Za-z0-9_@#.-]{1,64}$"

最大长度:64

source_type

String

属性类别,静态配置(static)、测量数据(measurement)、分析任务(analysis)

data_schema

DataSchema object

属性数据格式定义

unit

String

单位

最小长度:1

最大长度:64

value

Object

静态属性的值,如:1 1.1 "value" {"name":"value"}

is_tag

Boolean

属性是否为标签。资产ID、标签属性、时间戳三者组成属性数据唯一键,两条唯一键相同性数据以覆盖方式存储;一个模型中只能配置三个属性为标签,标签配置后标签不能删除,配置标签性也不能删除;只有integer、double、string类型的属性可以被配置为标签。示例: 资产ID asset1上依次上报如下六组数据: 资产ID 属性A(标签) 属性B 属性C 时间戳 asset1 valueA_1 valueB_1 valueC_1 T1 asset1 valueA_1 valueB_2 valueC_2 T2 asset1 valueA_2 valueB_3 valueC_3 T2 asset1 valueA_2 valueB_4 valueC_4 T2 asset1 valueB_5 valueC_5 T3 asset1 valueB_6 valueC_6 T3 根据唯一键规则最终存储为如下四组数据: 资产ID 属性A(标签) 属性B 属性C 时间戳 asset1 valueA_1 valueB_1 valueC_1 T1 asset1 valueA_1 valueB_2 valueC_2 T2 asset1 valueA_2 valueB_4 valueC_4 T2 asset1 valueB_6 valueC_6 T3

表14 DataSchema

参数

参数类型

描述

min

Number

integer或double类型的的最小值,当属性值超过范围时系统不予存储,integer时范围:-9223372036854775808 ~ 9223372036854775807;double时范围:-1.7976931348623157E308 ~ 1.7976931348623157E308

max

Number

integer或double类型的最大值,当属性值超过范围时系统不予存储,integer时范围:-9223372036854775808 ~ 9223372036854775807;double时范围:-1.7976931348623157E308 ~ 1.7976931348623157E308

min_length

Integer

string类型的最小长度,当属性值超过范围时系统不予存储,范围:0 ~ 4096

max_length

Integer

string类型的最大长度,当属性值超过范围时系统不予存储,范围:0 ~ 4096

data_type

String

数据类型,字符串(string)、整数(integer)、浮点数(double)、对象(object),系统支持的对象型存储大小为1MB,超过时不予存储

表15 AnalysisResponse

参数

参数类型

描述

analysis_id

String

分析任务ID

name

String

分析任务名称

display_name

String

分析任务显示名称

type

String

分析任务类型,转换计算(transform)、聚合计算(aggregate)、流计算(stream)

transform

TransformResponse object

转换计算

aggregate

AggregateResponse object

聚合计算

stream

StreamResponse object

流计算

表16 TransformResponse

参数

参数类型

描述

inputs

Array of InputResponse objects

输入参数

expression

Formula object

转换计算表达式定义

output_property

String

输出属性名(不推荐使用,待废弃,使用outputs替代)

最大长度:128

outputs

Array of OutputResponse objects

输出配置响应

表17 Formula

参数

参数类型

描述

formula

String

公式,最多1024个字符(分析任务单输出场景,配合TransformModel或AggregateModel的output_property使用)

最大长度:1024

formulas

Array of NamedFormula objects

带名称的公式

表18 AggregateResponse

参数

参数类型

描述

inputs

Array of InputResponse objects

输入参数

expression

Expression object

聚合计算表达式定义

output_property

String

输出属性名(不推荐使用,待废弃,使用outputs替代)

最大长度:128

outputs

Array of OutputResponse objects

输出配置响应

schedule

DTSchedule object

调度策略

表19 Expression

参数

参数类型

描述

time_range

String

时间范围,调度时间往前的时间范围,比如1m表示调度时间往前1分钟到调度时间的时间范围,正则:"1m|5m|15m|1h"

formula

String

公式,最多1024个字符(分析任务单输出场景,配合TransformModel或AggregateModel的output_property使用)

最大长度:1024

formulas

Array of NamedFormula objects

带名称的公式

表20 NamedFormula

参数

参数类型

描述

name

String

公式名称,不能和输入参数名重复,正则:"^[A-Za-z][A-Za-z_]{0,31}$"

最大长度:32

formula

String

公式,最多1024个字符

最大长度:1024

表21 OutputResponse

参数

参数类型

描述

name

String

输出参数名称,formulas中定义的name

最大长度:128

output_static_asset_id

String

输出资产ID,填写模型中定义的输出模型对应的某资产ID;创建资产时,如果是输出到本资产的模型,且output_static_asset_id和output_dynamic_asset_id都未配置,则后台自动配置output_static_asset_id为本资产ID;修改资产时,如果output_static_asset_id为null则表示置空

最大长度:128

output_dynamic_asset_id

String

输出资产ID,填写公式动态生成资产ID,可根据入参获取资产ID,如:GetAssetId("assetmodelName1","staticPropertyName1",paramA);修改资产时,如果output_static_asset_id为null则表示置空

最大长度:1024

output_asset_model_id

String

输出模型ID,如果输出到本模型可以不携带

最大长度:128

output_property

String

输出属性名

最大长度:128

表22 DTSchedule

参数

参数类型

描述

period

String

调度周期,正则: "1m|5m|15m|1h",表示从每小时第0分0秒开始,每1m、5m、15m、1h调度

表23 StreamResponse

参数

参数类型

描述

inputs

Array of InputResponse objects

输入参数

job_id

String

流计算任务ID

outputs

Array of StreamOutput objects

输出属性,最多支持10个

表24 InputResponse

参数

参数类型

描述

name

String

参数名

property_reference

PropertyReferenceResponse object

属性引用

表25 PropertyReferenceResponse

参数

参数类型

描述

type

String

属性引用类型,引用本资产属性(this)、引用其他资产属性(single)、引用子资产属性(children)

asset_model_id

String

引用属性所属的资产模型ID,该字段仅当type为“引用其他资产属性”或“引用子资产属性”时有效;使用导入模型和导出模型接口时,该字段无效

最大长度:128

asset_model_name

String

引用属性所属的资产模型名称,请求中携带该字段时可以不携带asset_model_id字段

最大长度:64

property_name

String

引用属性的名称

最大长度:64

asset_id

String

引用的资产ID,修改资产时携带null表示置空

表26 StreamOutput

参数

参数类型

描述

name

String

输出参数名称,必须是接收数据类型为资产数据的实时分析作业中已定义的

最大长度:128

output_property

String

输出属性名,必须是本模型分析任务类别的属性的属性名

最大长度:128

请求示例

{
  "name" : "string",
  "display_name" : "string",
  "parent" : "string",
  "properties" : [ {
    "name" : "string",
    "value" : 0,
    "device_id" : "string"
  } ],
  "analyses" : [ {
    "name" : "string",
    "transform" : {
      "inputs" : [ {
        "name" : "string",
        "property_reference" : {
          "asset_id" : "string"
        }
      } ],
      "outputs" : [ {
        "name" : "string",
        "output_static_asset_id" : "string",
        "output_dynamic_asset_id" : "string"
      } ]
    },
    "aggregate" : {
      "inputs" : [ {
        "name" : "string",
        "property_reference" : {
          "asset_id" : "string"
        }
      } ],
      "outputs" : [ {
        "name" : "string",
        "output_static_asset_id" : "string",
        "output_dynamic_asset_id" : "string"
      } ]
    },
    "stream" : {
      "inputs" : [ {
        "name" : "string",
        "property_reference" : {
          "asset_id" : "string"
        }
      } ]
    }
  } ]
}

响应示例

状态码: 200

OK

{
  "asset_id" : "string",
  "asset_model_id" : "string",
  "asset_model_name" : "string",
  "name" : "string",
  "display_name" : "string",
  "properties" : [ {
    "device_id" : "string",
    "property_id" : "string",
    "name" : "string",
    "display_name" : "string",
    "source_type" : "static|measurement|analysis",
    "data_schema" : {
      "min" : 0,
      "max" : 0,
      "min_length" : 0,
      "max_length" : 0,
      "data_type" : "string"
    },
    "unit" : "string",
    "value" : 0,
    "is_tag" : true
  } ],
  "analyses" : [ {
    "analysis_id" : "string",
    "name" : "string",
    "display_name" : "string",
    "type" : "transform|aggregate|stream",
    "transform" : {
      "inputs" : [ {
        "name" : "string",
        "property_reference" : {
          "type" : "this|single|children",
          "asset_model_id" : "string",
          "property_name" : "string",
          "asset_id" : "string"
        }
      } ],
      "expression" : {
        "formula" : "string",
        "formulas" : [ {
          "name" : "string",
          "formula" : "string"
        } ]
      },
      "output_property" : "string",
      "outputs" : [ {
        "name" : "string",
        "output_static_asset_id" : "string",
        "output_dynamic_asset_id" : "string",
        "output_asset_model_id" : "string",
        "output_property" : "string"
      } ]
    },
    "aggregate" : {
      "inputs" : [ {
        "name" : "string",
        "property_reference" : {
          "type" : "this|single|children",
          "asset_model_id" : "string",
          "property_name" : "string",
          "asset_id" : "string"
        }
      } ],
      "expression" : {
        "time_range" : "1m|5m|15m|1h",
        "formula" : "string",
        "formulas" : [ {
          "name" : "string",
          "formula" : "string"
        } ]
      },
      "output_property" : "string",
      "outputs" : [ {
        "name" : "string",
        "output_static_asset_id" : "string",
        "output_dynamic_asset_id" : "string",
        "output_asset_model_id" : "string",
        "output_property" : "string"
      } ],
      "schedule" : {
        "period" : "1m|5m|15m|1h"
      }
    },
    "stream" : {
      "inputs" : [ {
        "name" : "string",
        "property_reference" : {
          "type" : "this|single|children",
          "asset_model_id" : "string",
          "property_name" : "string",
          "asset_id" : "string"
        }
      } ],
      "job_id" : "string",
      "outputs" : [ {
        "name" : "string",
        "output_property" : "string"
      } ]
    }
  } ],
  "root" : "string",
  "parent" : "string",
  "children" : [ "string" ],
  "state" : "ACTIVE|INACTIVE",
  "publish_state" : "PUBLISHING|PUBLISHED",
  "created_time" : "string",
  "modified_time" : "string",
  "published_time" : "string"
}

状态码

状态码

描述

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

409

Conflict

500

Internal Server Error

错误码

请参见错误码

相关文档