创建资产
功能介绍
创建资产
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v1/{project_id}/assets
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID 最大长度:128 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
租户Token 最大长度:65535 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
asset_model_id |
是 |
String |
资产模型ID 最大长度:128 |
name |
是 |
String |
资产名称,正则:"^[a-zA-Z][a-zA-Z0-9_-]{0,63}$" 最大长度:64 |
display_name |
否 |
String |
资产显示名称,修改资产时,""代表配置为空、null或不携带代表不修改,正则:"^[\u4E-\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个 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
属性名称,必须是模型中已存在的 最大长度:64 |
value |
否 |
Object |
值,只有static型属性可以填写 |
device_id |
否 |
String |
设备ID,只有measurement型属性可以填写 最大长度:128 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
分析任务名,必须是模型中已存在的 最大长度:64 |
transform |
否 |
DTTransformRequest object |
转换计算 |
aggregate |
否 |
DTAggregateRequest object |
聚合计算 |
stream |
否 |
DTStreamRequest object |
流计算 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
inputs |
否 |
Array of InputRequest objects |
输入参数,最多支持10个 |
outputs |
否 |
Array of OutputRequest objects |
输出配置请求 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
inputs |
否 |
Array of InputRequest objects |
输入参数,最多支持10个 |
outputs |
否 |
Array of OutputRequest objects |
输出配置请求 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
参数名,正则: "^[A-Za-z][A-Za-z_]{0,31}$" 最大长度:32 |
property_reference |
是 |
PropertyReferenceReq object |
属性引用 |
响应参数
状态码: 201
参数 |
参数类型 |
描述 |
---|---|---|
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'" |
参数 |
参数类型 |
描述 |
---|---|---|
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 |
参数 |
参数类型 |
描述 |
---|---|---|
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,超过时不予存储 |
参数 |
参数类型 |
描述 |
---|---|---|
analysis_id |
String |
分析任务ID |
name |
String |
分析任务名称 |
display_name |
String |
分析任务显示名称 |
type |
String |
分析任务类型,转换计算(transform)、聚合计算(aggregate)、流计算(stream) |
transform |
TransformResponse object |
转换计算 |
aggregate |
AggregateResponse object |
聚合计算 |
stream |
StreamResponse object |
流计算 |
参数 |
参数类型 |
描述 |
---|---|---|
inputs |
Array of InputResponse objects |
输入参数 |
expression |
Formula object |
转换计算表达式定义 |
output_property |
String |
输出属性名(不推荐使用,待废弃,使用outputs替代) 最大长度:128 |
outputs |
Array of OutputResponse objects |
输出配置响应 |
参数 |
参数类型 |
描述 |
---|---|---|
formula |
String |
公式,最多1024个字符(分析任务单输出场景,配合TransformModel或AggregateModel的output_property使用) 最大长度:1024 |
formulas |
Array of NamedFormula objects |
带名称的公式 |
参数 |
参数类型 |
描述 |
---|---|---|
inputs |
Array of InputResponse objects |
输入参数 |
expression |
Expression object |
聚合计算表达式定义 |
output_property |
String |
输出属性名(不推荐使用,待废弃,使用outputs替代) 最大长度:128 |
outputs |
Array of OutputResponse objects |
输出配置响应 |
schedule |
DTSchedule object |
调度策略 |
参数 |
参数类型 |
描述 |
---|---|---|
time_range |
String |
时间范围,调度时间往前的时间范围,比如1m表示调度时间往前1分钟到调度时间的时间范围,正则:"1m|5m|15m|1h" |
formula |
String |
公式,最多1024个字符(分析任务单输出场景,配合TransformModel或AggregateModel的output_property使用) 最大长度:1024 |
formulas |
Array of NamedFormula objects |
带名称的公式 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
公式名称,不能和输入参数名重复,正则:"^[A-Za-z][A-Za-z_]{0,31}$" 最大长度:32 |
formula |
String |
公式,最多1024个字符 最大长度:1024 |
参数 |
参数类型 |
描述 |
---|---|---|
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 |
参数 |
参数类型 |
描述 |
---|---|---|
inputs |
Array of InputResponse objects |
输入参数 |
job_id |
String |
流计算任务ID |
outputs |
Array of StreamOutput objects |
输出属性,最多支持10个 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
参数名 |
property_reference |
PropertyReferenceResponse object |
属性引用 |
参数 |
参数类型 |
描述 |
---|---|---|
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表示置空 |
请求示例
{ "asset_model_id" : "string", "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" } } ] } } ] }
响应示例
状态码: 201
Created
{ "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" }
状态码
状态码 |
描述 |
---|---|
201 |
Created |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
409 |
Conflict |
500 |
Internal Server Error |
错误码
请参见错误码。