
# 预览sql - SearchDesignSqlDdl
#### 功能介绍
预览sql
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dataartsstudio/making_request.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dataartsstudio/abcd.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
GET /v1/{project_id}/design/table/{tb_id}/ddl
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                    |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID，获取方法请参见[项目ID和账号ID](https://support.huaweicloud.com/api-dataartsstudio/projectid_accountid.html)。 |
| tb_id      | 是    | String | 表id/指标id                                                                                              |
   
表2Query参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                              |
|:---|:---|:---|:---|
| biz_type   | 否    | String | 表模型：基础表TABLE_MODEL(默认)、维度表DIMENSION_LOGIC_TABLE、事实表FACT_LOGIC_TABLE、汇总表AGGREGATION_LOGIC_TABLE；指标模型：衍生指标DERIVATIVE_INDEX、复合指标COMPOUND_METRIC。表模型中的默认项（基础表)可不填此项，其余表模型和指标模型此项必填。 |
| version_id | 否    | String | 需要查询的版本的id                                                                                                                                                                      |
| type       | 否    | String | 查询类型：表类型DDL、映射类型MAPPING、指标类型METRIC，表模型可选填此项，指标模型此项必填。                                                                                                                           |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                           |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | IAM Token，通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值） 使用Token认证时必选。                                                                |
| workspace    | 是    | String | 工作空间ID，获取方法请参见[实例ID和工作空间ID](https://support.huaweicloud.com/api-dataartsstudio/dataartsstudio_02_0350.html)。                                                                 |
| X-Project-Id | 否    | String | 项目ID，获取方法请参见[项目ID和账号ID](https://support.huaweicloud.com/api-dataartsstudio/projectid_accountid.html)。 多project场景采用AK/SK认证的接口请求，则该字段必选。 |
| Content-Type | 否    | String | 默认值：application/json;charset=UTF-8 可选，有Body体的情况下必选，没有Body体则无需填写和校验。                                                                    |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数   | 参数类型                                              | 描述       |
|:---|:---|:---|
| data | [data] object | 接口返回的数据。 |
   
 表5data 
| 参数    | 参数类型   | 描述     |
|:---|:---|:---|
| value | String | sql信息。 |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                   |
|:---|:---|:---|
| error_code | String | 错误码，如DS.6000，请求处理失败。 |
| error_msg  | String | 错误信息。                |
| data       | Object | 返回的数据信息。             |
   
**状态码：401**
表7响应Body参数 
| 参数         | 参数类型   | 描述                   |
|:---|:---|:---|
| error_code | String | 错误码，如DS.6000，请求处理失败。 |
| error_msg  | String | 错误信息。                |
| data       | Object | 返回的数据信息。             |
   
**状态码：403**
表8响应Body参数 
| 参数         | 参数类型   | 描述                   |
|:---|:---|:---|
| error_code | String | 错误码，如DS.6000，请求处理失败。 |
| error_msg  | String | 错误信息。                |
| data       | Object | 返回的数据信息。             |
   
#### 请求示例
获取指标ID为1349071612426813440、指标模型为DERIVATIVE_INDEX、查询类型为METRIC的sql信息。
```
GET https://{endpoint}/v1/{project_id}/design/table/1349071612426813440/ddl?biz_type=DERIVATIVE_INDEX&type=METRIC
```
#### 响应示例
**状态码：200**
Success，返回data数据是 ddl
```
{
  "data" : {
    "value" : "SELECT\n    count(fact_test_d_l.pt)  AS test_d_l,\n    fact_test_d_l.pt AS fact_test_d_l_pt,\n    dim_start_node.node_code AS dim_start_node_node_code,\n    dim_end_node.node_code AS dim_end_node_node_code\nFROM  bi.fact_test_d_l fact_test_d_l\n    LEFT JOIN bi.dim_exiu dim_end_node ON  dim_end_node.node_code = fact_test_d_l.end_node_code\n    LEFT JOIN bi.dim_exiu dim_start_node ON  dim_start_node.node_code = fact_test_d_l.start_node_code\nWHERE  1=1\nGROUP BY\n    fact_test_d_l.pt,\n    dim_start_node.node_code,\n    dim_end_node.node_code;"
  }
}
```
**状态码：400**
BadRequest
```
{
  "error_code" : "DS.60xx",
  "error_msg" : "The user request is illegal."
}
```
**状态码：401**
Unauthorized
```
{
  "error_code" : "DS.60xx",
  "error_msg" : "User authentication failed."
}
```
**状态码：403**
Forbidden
```
{
  "error_code" : "DS.60xx",
  "error_msg" : "The user does not have permission to call this API."
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | Success，返回data数据是 ddl |
| 400 | BadRequest            |
| 401 | Unauthorized          |
| 403 | Forbidden             |
   
