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

修改资产模型

功能介绍

修改资产模型

调试

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

URI

PUT /v1/{project_id}/asset-models/{model_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

最大长度:128

model_id

String

模型ID

最大长度:256

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

租户Token

最大长度:65535

表3 请求Body参数

参数

是否必选

参数类型

描述

display_name

String

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

最大长度:64

properties

Array of PropertyModelRequest objects

属性集,最多200个

analyses

Array of AnalysisModelRequest objects

分析任务集,最多50个

表4 PropertyModelRequest

参数

是否必选

参数类型

描述

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

表5 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,超过时不予存储

表6 AnalysisModelRequest

参数

是否必选

参数类型

描述

name

String

分析任务名称,正则:"^[a-zA-Z][a-zA-Z0-9_]{0,63}$"

最大长度:64

display_name

String

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

最大长度:64

type

String

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

transform

TransformModel object

转换计算类型分析任务定义

aggregate

AggregateModel object

聚合计算类型分析任务定义

stream

StreamModel object

流计算类型分析任务定义

表7 TransformModel

参数

是否必选

参数类型

描述

inputs

Array of InputModel objects

输入参数,最多支持10个

expression

Formula object

表达式定义

output_property

String

输出属性名(分析任务单输出场景,配合expression的formula使用)

最大长度:128

outputs

Array of OutputWithModel objects

输出属性,最多支持10个

表8 Formula

参数

是否必选

参数类型

描述

formula

String

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

最大长度:1024

formulas

Array of NamedFormula objects

带名称的公式

表9 AggregateModel

参数

是否必选

参数类型

描述

inputs

Array of InputModel objects

输入参数,最多支持10个

expression

Expression object

表达式定义

schedule

DTSchedule object

调度策略

output_property

String

输出属性名(分析任务单输出场景,配合expression的formula使用)

最大长度:128

outputs

Array of OutputWithModel objects

输出属性,最多支持10个

表10 Expression

参数

是否必选

参数类型

描述

time_range

String

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

formula

String

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

最大长度:1024

formulas

Array of NamedFormula objects

带名称的公式

表11 NamedFormula

参数

是否必选

参数类型

描述

name

String

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

最大长度:32

formula

String

公式,最多1024个字符

最大长度:1024

表12 DTSchedule

参数

是否必选

参数类型

描述

period

String

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

表13 OutputWithModel

参数

是否必选

参数类型

描述

name

String

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

最大长度:128

output_asset_model_id

String

输出模型ID,如果输出到本模型可以不携带;使用导入模型和导出模型接口时,该字段无效

最大长度:128

output_asset_model_name

String

输出模型名称,请求中携带该字段时可以不携带output_asset_model_id

最大长度:64

output_property

String

输出属性名

最大长度:128

表14 StreamModel

参数

是否必选

参数类型

描述

inputs

Array of InputModel objects

输入参数,最多支持10个;流计算的输入参数名需要在接收数据类型为资产数据的实时分析作业中定义,模型中必须与其保持一致

job_id

String

实时分析作业ID

最大长度:128

outputs

Array of StreamOutput objects

输出属性,最多支持10个

表15 InputModel

参数

是否必选

参数类型

描述

name

String

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

最大长度:32

property_reference

PropertyReferenceModel object

输入参数的属性引用定义

表16 PropertyReferenceModel

参数

是否必选

参数类型

描述

type

String

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

asset_model_id

String

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

最大长度:128

asset_model_name

String

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

最大长度:64

property_name

String

引用属性的名称

最大长度:64

表17 StreamOutput

参数

是否必选

参数类型

描述

name

String

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

最大长度:128

output_property

String

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

最大长度:128

响应参数

状态码: 200

表18 响应Body参数

参数

参数类型

描述

asset_model_id

String

模型ID

name

String

模型名称

display_name

String

模型显示名称

properties

Array of PropertyModelResponse objects

属性集

analyses

Array of AnalysisModelResponse objects

分析任务集

created_time

String

创建时间

modified_time

String

修改时间

表19 PropertyModelResponse

参数

参数类型

描述

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

表20 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,超过时不予存储

表21 AnalysisModelResponse

参数

参数类型

描述

analysis_id

String

分析任务ID

name

String

分析任务名称,正则:"^[a-zA-Z][a-zA-Z0-9_]{0,63}$"

最大长度:64

display_name

String

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

最大长度:64

type

String

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

transform

TransformModel object

转换计算类型分析任务定义

aggregate

AggregateModel object

聚合计算类型分析任务定义

stream

StreamModel object

流计算类型分析任务定义

表22 TransformModel

参数

参数类型

描述

inputs

Array of InputModel objects

输入参数,最多支持10个

expression

Formula object

表达式定义

output_property

String

输出属性名(分析任务单输出场景,配合expression的formula使用)

最大长度:128

outputs

Array of OutputWithModel objects

输出属性,最多支持10个

表23 Formula

参数

参数类型

描述

formula

String

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

最大长度:1024

formulas

Array of NamedFormula objects

带名称的公式

表24 AggregateModel

参数

参数类型

描述

inputs

Array of InputModel objects

输入参数,最多支持10个

expression

Expression object

表达式定义

schedule

DTSchedule object

调度策略

output_property

String

输出属性名(分析任务单输出场景,配合expression的formula使用)

最大长度:128

outputs

Array of OutputWithModel objects

输出属性,最多支持10个

表25 Expression

参数

参数类型

描述

time_range

String

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

formula

String

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

最大长度:1024

formulas

Array of NamedFormula objects

带名称的公式

表26 NamedFormula

参数

参数类型

描述

name

String

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

最大长度:32

formula

String

公式,最多1024个字符

最大长度:1024

表27 DTSchedule

参数

参数类型

描述

period

String

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

表28 OutputWithModel

参数

参数类型

描述

name

String

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

最大长度:128

output_asset_model_id

String

输出模型ID,如果输出到本模型可以不携带;使用导入模型和导出模型接口时,该字段无效

最大长度:128

output_asset_model_name

String

输出模型名称,请求中携带该字段时可以不携带output_asset_model_id

最大长度:64

output_property

String

输出属性名

最大长度:128

表29 StreamModel

参数

参数类型

描述

inputs

Array of InputModel objects

输入参数,最多支持10个;流计算的输入参数名需要在接收数据类型为资产数据的实时分析作业中定义,模型中必须与其保持一致

job_id

String

实时分析作业ID

最大长度:128

outputs

Array of StreamOutput objects

输出属性,最多支持10个

表30 InputModel

参数

参数类型

描述

name

String

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

最大长度:32

property_reference

PropertyReferenceModel object

输入参数的属性引用定义

表31 PropertyReferenceModel

参数

参数类型

描述

type

String

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

asset_model_id

String

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

最大长度:128

asset_model_name

String

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

最大长度:64

property_name

String

引用属性的名称

最大长度:64

表32 StreamOutput

参数

参数类型

描述

name

String

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

最大长度:128

output_property

String

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

最大长度:128

请求示例

{
  "display_name" : "string",
  "properties" : [ {
    "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" : [ {
    "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"
        }
      } ],
      "expression" : {
        "formula" : "string",
        "formulas" : [ {
          "name" : "string",
          "formula" : "string"
        } ]
      },
      "output_property" : "string",
      "outputs" : [ {
        "name" : "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"
        }
      } ],
      "expression" : {
        "time_range" : "1m|5m|15m|1h",
        "formula" : "string",
        "formulas" : [ {
          "name" : "string",
          "formula" : "string"
        } ]
      },
      "schedule" : {
        "period" : "1m|5m|15m|1h"
      },
      "output_property" : "string",
      "outputs" : [ {
        "name" : "string",
        "output_asset_model_id" : "string",
        "output_property" : "string"
      } ]
    },
    "stream" : {
      "inputs" : [ {
        "name" : "string",
        "property_reference" : {
          "type" : "this|single|children",
          "asset_model_id" : "string",
          "property_name" : "string"
        }
      } ],
      "job_id" : "string",
      "outputs" : [ {
        "name" : "string",
        "output_property" : "string"
      } ]
    }
  } ]
}

响应示例

状态码: 200

OK

{
  "asset_model_id" : "string",
  "name" : "string",
  "display_name" : "string",
  "properties" : [ {
    "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"
        }
      } ],
      "expression" : {
        "formula" : "string",
        "formulas" : [ {
          "name" : "string",
          "formula" : "string"
        } ]
      },
      "output_property" : "string",
      "outputs" : [ {
        "name" : "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"
        }
      } ],
      "expression" : {
        "time_range" : "1m|5m|15m|1h",
        "formula" : "string",
        "formulas" : [ {
          "name" : "string",
          "formula" : "string"
        } ]
      },
      "schedule" : {
        "period" : "1m|5m|15m|1h"
      },
      "output_property" : "string",
      "outputs" : [ {
        "name" : "string",
        "output_asset_model_id" : "string",
        "output_property" : "string"
      } ]
    },
    "stream" : {
      "inputs" : [ {
        "name" : "string",
        "property_reference" : {
          "type" : "this|single|children",
          "asset_model_id" : "string",
          "property_name" : "string"
        }
      } ],
      "job_id" : "string",
      "outputs" : [ {
        "name" : "string",
        "output_property" : "string"
      } ]
    }
  } ],
  "created_time" : "string",
  "modified_time" : "string"
}

状态码

状态码

描述

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

409

Conflict

500

Internal Server Error

错误码

请参见错误码

相关文档