
# 查询结构化配置 - ShowStructTemplate
#### 功能介绍
该接口用于查询指定日志流下的结构化配置内容。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-lts/lts_api_0003.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-lts/lts_api_0046.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                              | 访问级别 | 资源类型（\*为必须）  | 条件键                       | 别名                                                                                                                                                                                                         | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | lts:structConfig:getStructConfig | Read | logStream \* | g:ResourceTag/\<tag-key\> | - lts:topics:get  - lts:structConfig:get   | -      |
     
  
 
#### URI
GET /v2/{project_id}/lts/struct/template
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID，可以从调用API处获取，也可以从控制台获取。获取方式请参见：[获取项目ID](https://support.huaweicloud.com/api-lts/lts_api_0006.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表2Query参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| logGroupId  | 是    | String | **参数解释：** 日志组ID，获取方式请参见：[获取日志组ID和日志流ID](https://support.huaweicloud.com/api-lts/lts_api_0014.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| logStreamId | 是    | String | **参数解释：** 日志流ID，获取方式请参见：[获取日志组ID和日志流ID](https://support.huaweicloud.com/api-lts/lts_api_0014.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 从IAM服务获取的用户Token，获取方式请参见：[获取用户Token](https://support.huaweicloud.com/api-lts/lts_api_0004.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| Content-Type | 是    | String | **参数解释：** 用于定义消息体的格式，该字段填为：application/json;charset=utf8。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                  |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数                   | 参数类型                                                                                          | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| demoFields           | Array of [StructFieldInfoReturn] objects       | **参数解释：** 根据结构化配置对示例日志进行解析后生成的字段信息。                                                                                                                                                                                                                                                                                                                                                                |
| tagFields            | Array of [tag_fields_info] objects                   | **参数解释：** 根据日志的上报渠道生成的固有字段信息或用户手动配置的静态字段信息。                                                                                                                                                                                                                                                                                                                                                        |
| demoLog              | String                                                                                        | **参数解释：** 示例日志。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                     |
| demoLabel            | String                                                                                        | **参数解释：** 示例日志和系统字段的完整JSON结构示例。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                     |
| id                   | String                                                                                        | **参数解释：** 结构化配置ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                  |
| logGroupId           | String                                                                                        | **参数解释：** 日志组ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                    |
| rule                 | [TemplateRule] object                                   | **参数解释：** 结构化方式。                                                                                                                                                                                                                                                                                                                                                                                   |
| cluster_info         | [ShowStructTemplateclusterInfo] object | **参数解释：** kafka集群信息。                                                                                                                                                                                                                                                                                                                                                                               |
| logStreamId          | String                                                                                        | **参数解释：** 日志流ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                    |
| projectId            | String                                                                                        | **参数解释：** 项目ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                     |
| templateName         | String                                                                                        | **参数解释：** 结构化模板名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                  |
| regex                | String                                                                                        | **参数解释：** 正则表达式。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                    |
| custom_time_info     | [customTimeInfo] object                               | **参数解释：** 结构化配置的自定义时间相关参数。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                          |
| uploadOriginalLog    | Boolean                                                                                       | **参数解释：** 是否上传原始日志。 **取值范围：** - true   - fasle                 |
| uploadParseFailedLog | Boolean                                                                                       | **参数解释：** 是否将解析失败的原始上传到指定系统字段日志。 **取值范围：** - true   - fasle    |
   
 表5StructFieldInfoReturn 
| 参数         | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|
| fieldName  | String  | **参数解释：** 已提取的字段名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                               |
| type       | String  | **参数解释：** 字段数据类型。 **取值范围：** - string   - long   - float    |
| content    | String  | **参数解释：** 已提取的字段示例内容。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                             |
| isAnalysis | Boolean | **参数解释：** 是否开启快速分析。如果配置了索引配置，则以索引配置的快速分析开关为准。 **取值范围：** - true：开启快速分析。   - false：不开启快速分析。                                                                                    |
| index      | Integer | **参数解释：** 正则分析以及分隔符方式中的字段序号。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                      |
   
 表6tag_fields_info 
| 参数         | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| fieldName  | String  | **参数解释：** Tag字段名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                 |
| type       | String  | **参数解释：** Tag字段类型。 **取值范围：** - string   - float   - long    |
| content    | String  | **参数解释：** Tag字段示例内容。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                               |
| isAnalysis | Boolean | **参数解释：** 是否开启快速分析。如果配置了索引配置，则以索引配置的快速分析开关为准。 **取值范围：** - true：开启快速分析。   - false：不开启快速分析。                                                                                     |
| index      | Integer | **参数解释：** 字段序号。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
 表7TemplateRule 
| 参数    | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| type  | String | **参数解释：** 创建结构化模板的结构化方式。 **取值范围：** - regex   - json   - split   - nginx   - built_in   - custom_regex   - regex_auto    |
| param | String | **参数解释：** 结构化参数，不同结构化类型返回对应结构化类型需要的配置参数。例如：当type取值split时，param参数中会返回包含分隔符配置的json字符串，当type取值regex时，param参数中会返回配置的正则表达式。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
 表8ShowStructTemplateclusterInfo 
| 参数                      | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| cluster_name            | String  | **参数解释：** kafka集群名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                  |
| kafka_bootstrap_servers | String  | **参数解释：** kafka集群的服务器地址。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                              |
| kafka_ssl_enable        | Boolean | **参数解释：** kafka是否开启ssl加密认证。 **取值范围：** - true：开启ssl加密认证。   - false：不开启ssl加密认证。    |
   
 表9customTimeInfo 
| 参数          | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| enable      | Boolean | **参数解释：** 是否开启自定义时间字段。 **取值范围：** - true   - fasle    |
| key         | String  | **参数解释：** 从demoField中选取的作为日志系统时间的字段名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                    |
| value       | String  | **参数解释：** 从demoField中选取的作为日志系统时间的字段内容示例。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                  |
| time_format | String  | **参数解释：** 用于解析字段为时间类型的时间格式参数。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                             |
   
**状态码：400**
表10响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，请参见：[错误码](https://support.huaweicloud.com/api-lts/ErrorCode.html)。 **取值范围：** 不涉及。 |
| error_msg  | String | **参数解释：** 调用失败响应信息描述。 **取值范围：** 不涉及。                                                            |
   
**状态码：401**
表11响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，请参见：[错误码](https://support.huaweicloud.com/api-lts/ErrorCode.html)。 **取值范围：** 不涉及。 |
| error_msg  | String | **参数解释：** 调用失败响应信息描述。 **取值范围：** 不涉及。                                                            |
   
**状态码：403**
表12响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，请参见：[错误码](https://support.huaweicloud.com/api-lts/ErrorCode.html)。 **取值范围：** 不涉及。 |
| error_msg  | String | **参数解释：** 调用失败响应信息描述。 **取值范围：** 不涉及。                                                            |
   
**状态码：500**
表13响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，请参见：[错误码](https://support.huaweicloud.com/api-lts/ErrorCode.html)。 **取值范围：** 不涉及。 |
| error_msg  | String | **参数解释：** 调用失败响应信息描述。 **取值范围：** 不涉及。                                                            |
   
#### 请求示例
```
GET https://{endpoint}/v2/{project_id}/lts/struct/template
/v2/{project_id}/lts/struct/template?logGroupId={logGroupId}&logStreamId={logStreamId}
```
#### 响应示例
**状态码：200**
请求响应成功，成功获取结构化配置。
```
{
  "custom_time_info" : {
    "enable" : false,
    "key" : "",
    "value" : "",
    "time_format" : ""
  },
  "demoFields" : [ {
    "content" : "aaa",
    "fieldName" : "field1",
    "index" : 0,
    "isAnalysis" : true,
    "type" : "string"
  }, {
    "content" : "bbb",
    "fieldName" : "field2",
    "index" : 1,
    "isAnalysis" : true,
    "type" : "string"
  }, {
    "content" : "ccc",
    "fieldName" : "field3",
    "index" : 2,
    "isAnalysis" : true,
    "type" : "string"
  }, {
    "content" : "ddd",
    "fieldName" : "field4",
    "index" : 3,
    "isAnalysis" : true,
    "type" : "string"
  } ],
  "demoLabel" : "{}",
  "demoLog" : "aaa bbb ccc ddd",
  "id" : "a0a1xxxxxx4491185d7cf26c3e86ada_86b5xxxx-11df-4361-b48e-b3861c3c761c_xxxx02c7-1dac-47d0-b3ef-39e2ed4e70da",
  "logGroupId" : "86b5xxxx-11df-4361-b48e-b3861c3c761c",
  "logStreamId" : "d9c4xxxx-1dac-47d0-b3ef-39e2ed4e70da",
  "projectId" : "a0a1xxxxxx4491185d7cf26c3e86ada",
  "rule" : {
    "param" : "{ \" keyObject \" :{ \" 0 \" : \" field1 \" , \" 1 \" : \" field2 \" , \" 2 \" : \" field3 \" , \" 3 \" : \" field4 \" }, \" tokenizer \" : \"   \" , \" split_type \" : \" char \" }",
    "type" : "split"
  },
  "cluster_info" : {
    "cluster_name" : "",
    "kafka_bootstrap_servers" : "",
    "kafka_ssl_enable" : false
  },
  "templateName" : "",
  "regex" : "",
  "tagFields" : [ ],
  "uploadOriginalLog" : true,
  "uploadParseFailedLog" : false
}
```
**状态码：400**
非法请求。 建议根据error_msg直接修改该请求，不要重试该请求。
```
{
  "error_code" : "SVCSTG.ALS.200201",
  "error_msg" : "Query Param is error."
}
```
**状态码：401**
鉴权失败，请确认token后再次请求 。
```
{
  "error_code" : "LTS.0414",
  "error_msg" : "Invalid token"
}
```
**状态码：403**
请求被拒绝访问。 返回该状态码，表明请求能够到达服务端，且服务端能够理解用户请求，但是拒绝做更多的事情，因为该请求被设置为拒绝访问，建议直接修改该请求，不要重试该请求。
```
{
  "error_code" : "LTS.0001",
  "error_msg" : "Invalid projectId"
}
```
**状态码：500**
表明服务端能被请求访问到，但是服务内部出错。
```
{
  "error_code" : "LTS.0102",
  "error_msg" : "Query empty."
}
```
#### 状态码
| 状态码 | 描述                                                                                   |
|:---|:---|
| 200 | 请求响应成功，成功获取结构化配置。                                                                    |
| 400 | 非法请求。 建议根据error_msg直接修改该请求，不要重试该请求。                                                  |
| 401 | 鉴权失败，请确认token后再次请求 。                                                                 |
| 403 | 请求被拒绝访问。 返回该状态码，表明请求能够到达服务端，且服务端能够理解用户请求，但是拒绝做更多的事情，因为该请求被设置为拒绝访问，建议直接修改该请求，不要重试该请求。 |
| 500 | 表明服务端能被请求访问到，但是服务内部出错。                                                               |
| 503 | 被请求的服务无效，服务不可用。                                                                      |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-lts/ErrorCode.html)。
