
# 获取资产模型详情
#### 功能介绍
获取资产模型详情
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=IoTAnalytics&api=ShowAssetModel)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
GET /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** |
   
#### 响应参数
**状态码： 200**
表3响应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                                                                                                  | 修改时间   |
   
 表4PropertyModelResponse 
| 参数           | 参数类型                                                                    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| 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 |
   
 表5DataSchema 
| 参数         | 参数类型    | 描述                                                                                                                                                       |
|:---|:---|:---|
| 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，超过时不予存储                                                                             |
   
 表6AnalysisModelResponse 
| 参数           | 参数类型                                                                            | 描述                                                                   |
|:---|:---|:---|
| 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       | 流计算类型分析任务定义                                                          |
   
 表7TransformModel 
| 参数              | 参数类型                                                                                        | 描述                                                   |
|:---|:---|:---|
| inputs          | Array of [InputModel] objects           | 输入参数，最多支持10个                                         |
| expression      | [Formula] object                           | 表达式定义                                                |
| output_property | String                                                                                      | 输出属性名(分析任务单输出场景，配合expression的formula使用) 最大长度：**128** |
| outputs         | Array of [OutputWithModel] objects | 输出属性，最多支持10个                                         |
   
 表8Formula 
| 参数       | 参数类型                                                                                  | 描述                                                                                      |
|:---|:---|:---|
| formula  | String                                                                                | 公式，最多1024个字符(分析任务单输出场景，配合TransformModel或AggregateModel的output_property使用) 最大长度：**1024** |
| formulas | Array of [NamedFormula] objects | 带名称的公式                                                                                  |
   
 表9AggregateModel 
| 参数              | 参数类型                                                                                        | 描述                                                   |
|:---|:---|:---|
| inputs          | Array of [InputModel] objects           | 输入参数，最多支持10个                                         |
| expression      | [Expression] object                     | 表达式定义                                                |
| schedule        | [DTSchedule] object                     | 调度策略                                                 |
| output_property | String                                                                                      | 输出属性名(分析任务单输出场景，配合expression的formula使用) 最大长度：**128** |
| outputs         | Array of [OutputWithModel] objects | 输出属性，最多支持10个                                         |
   
 表10Expression 
| 参数         | 参数类型                                                                                  | 描述                                                                                      |
|:---|:---|:---|
| time_range | String                                                                                | 时间范围，调度时间往前的时间范围，比如1m表示调度时间往前1分钟到调度时间的时间范围，正则："1m\|5m\|15m\|1h"                         |
| formula    | String                                                                                | 公式，最多1024个字符(分析任务单输出场景，配合TransformModel或AggregateModel的output_property使用) 最大长度：**1024** |
| formulas   | Array of [NamedFormula] objects | 带名称的公式                                                                                  |
   
 表11NamedFormula 
| 参数      | 参数类型   | 描述                                                              |
|:---|:---|:---|
| name    | String | 公式名称，不能和输入参数名重复，正则："\^\[A-Za-z\]\[A-Za-z_\]{0,31}$" 最大长度：**32** |
| formula | String | 公式，最多1024个字符 最大长度：**1024**                                      |
   
 表12DTSchedule 
| 参数     | 参数类型   | 描述                                                       |
|:---|:---|:---|
| period | String | 调度周期，正则： "1m\|5m\|15m\|1h"，表示从每小时第0分0秒开始，每1m、5m、15m、1h调度 |
   
 表13OutputWithModel 
| 参数                      | 参数类型   | 描述                                                     |
|:---|:---|:---|
| 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**                                     |
   
 表14StreamModel 
| 参数      | 参数类型                                                                                  | 描述                                                         |
|:---|:---|:---|
| inputs  | Array of [InputModel] objects     | 输入参数，最多支持10个；流计算的输入参数名需要在接收数据类型为资产数据的实时分析作业中定义，模型中必须与其保持一致 |
| job_id  | String                                                                                | 实时分析作业ID 最大长度：**128**                                      |
| outputs | Array of [StreamOutput] objects | 输出属性，最多支持10个                                               |
   
 表15InputModel 
| 参数                 | 参数类型                                                                                            | 描述                                                   |
|:---|:---|:---|
| name               | String                                                                                          | 参数名称，正则："\^\[A-Za-z\]\[A-Za-z_\]{0,31}$" 最大长度：**32** |
| property_reference | [PropertyReferenceModel] object | 输入参数的属性引用定义                                          |
   
 表16PropertyReferenceModel 
| 参数               | 参数类型   | 描述                                                                                |
|:---|:---|:---|
| type             | String | 属性引用类型，引用本资产属性（this）、引用其他资产属性（single）、引用子资产属性（children）                           |
| asset_model_id   | String | 引用属性所属的资产模型ID，该字段仅当type为"引用其他资产属性"或"引用子资产属性"时有效；使用导入模型和导出模型接口时，该字段无效 最大长度：**128** |
| asset_model_name | String | 引用属性所属的资产模型名称，请求中携带该字段时可以不携带asset_model_id字段 最大长度：**64**                          |
| property_name    | String | 引用属性的名称 最大长度：**64**                                                               |
   
 表17StreamOutput 
| 参数              | 参数类型   | 描述                                             |
|:---|:---|:---|
| name            | String | 输出参数名称，必须是接收数据类型为资产数据的实时分析作业中已定义的 最大长度：**128** |
| output_property | String | 输出属性名，必须是本模型分析任务类别的属性的属性名 最大长度：**128**         |
   
#### 请求示例
无
#### 响应示例
**状态码： 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 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-iotanalytics/ErrorCode.html)。
