对数据服务中已创建的API进行调用。
接口说明
前提条件
您需先通过 Quick BI 的数据服务,创建数据服务的 API,具体请参见:数据服务。
使用限制
数据服务功能仅针对专业版客户开放。
数据服务 API 调用,接口超时时间为 60s,单个 API 的 QPS 为 10 次/秒。
数据服务 API 所引用数据集,如果开启了行级权限,API 调用的时候也会被行级权限策略拦截。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
quickbi-public:QueryData |
get |
*全部资源
|
无 | 无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| ApiId |
string |
是 |
数据服务中的 API ID,请参见:数据服务。 |
f4cc43bc3*** |
| UserId |
string |
否 |
Quick BI 中的 userId。如何获取 userId,请参见:根据账号查询用户信息接口 说明
该参数用于指定具体使用数据服务的人的身份,可结合数据集的行列权限配置使用 重要 参数不传、传空字符串、传 null 等情况,默认传入的 userId 为当前 Quick BI 组织的 owner |
b5d8fd9348cc4327****afb604 |
| Conditions |
string |
否 |
数据服务的查询条件,以 Key 和 Value 的形式传入。map 类型的字符串。其中,Key 为请求参数的参数名,Value 为请求参数的参数值。Key 和 Value 必须成对出现。 说明:
|
{ "area": ["test", "test"], "shopping_date": "2019Q1", } |
| ReturnFields |
string |
否 |
返回参数的参数名列表,List 类型字符串。 |
["area", "city", "price", "date"] |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
|||
| Success |
boolean |
是否请求成功。取值范围:
|
true |
| RequestId |
string |
请求 ID。 |
a4d1a221d-41za1-**** |
| Result |
object |
返回接口执行结果。取值范围:
|
|
| Headers |
array<object> |
列头。 |
|
|
object |
|||
| Aggregator |
string |
聚合操作符。度量字段才会有,例如 SUM、AVG 和 MAX。
|
SUM |
| Column |
string |
字段名,对应物理表字段名。 |
test |
| DataType |
string |
字段的数据类型。一般有:
|
string |
| Granularity |
string |
维度字段的粒度。 当请求字段为日期维度或地理维度字段,才会返回该字段,取值范围:
|
REGION |
| Label |
string |
字段别名,结果参数 values 中 map 数据行的 key。 |
area |
| Type |
string |
字段类型,用于区分是字段类型为维度或度量字段。
|
Dimension |
| OriginalColumn |
string |
数据集里对应的字段原名。 |
area |
| Sql |
string |
请求查询的 SQL。 说明
返回的 sql 语句中的过滤条件除了当前接口的传参条件外,还会带上行列权限的配置信息 |
SELECT COMPANY_T_1_.`area` AS D_AREA_2_, COMPANY_T_1_.`city` AS D_CITY_3_, SUM(COMPANY_T_1_.`profit_amt`) AS D_PROFIT_4_ FROM `quickbi_test`.`company_sales_record_copy` AS COMPANY_T_1_ WHERE COMPANY_T_1_.`area` LIKE '%test%' GROUP BY COMPANY_T_1_.`area`, COMPANY_T_1_.`city` HAVING SUM(COMPANY_T_1_.`order_amt`) > 1 LIMIT 0, 10 |
| Values |
array<object> |
返回查询到的结果。 |
|
|
object |
返回数据的行和列。 此参数为 List |
[{"area":"test","city":"test"},{"area":"test","city":"test"}] |
示例
正常返回示例
JSON格式
{
"Success": true,
"RequestId": "a4d1a221d-41za1-****",
"Result": {
"Headers": [
{
"Aggregator": "SUM",
"Column": "test",
"DataType": "string",
"Granularity": "REGION",
"Label": "area",
"Type": "Dimension",
"OriginalColumn": "area"
}
],
"Sql": "SELECT COMPANY_T_1_.`area` AS D_AREA_2_, COMPANY_T_1_.`city` AS D_CITY_3_, SUM(COMPANY_T_1_.`profit_amt`) AS D_PROFIT_4_ FROM `quickbi_test`.`company_sales_record_copy` AS COMPANY_T_1_ WHERE COMPANY_T_1_.`area` LIKE '%test%' GROUP BY COMPANY_T_1_.`area`, COMPANY_T_1_.`city` HAVING SUM(COMPANY_T_1_.`order_amt`) > 1 LIMIT 0, 10",
"Values": [
[
{
"area": "test",
"city": "test"
},
{
"area": "test",
"city": "test"
}
]
]
}
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | API.No.Permission | You are not authorized to call the data service API operation. | 您无权调用此数据服务API。 |
| 400 | API.Not.Exist | The data service API operation does not exist. | 数据服务 API 不存在。 |
| 400 | Cube.Not.Exist | The Cube does not exist. | 数据集不存在。 |
| 400 | Invalid.Parameter.Conditions | The specified Conditions is invalid. %s is not defined. | 参数 Conditions 错误:%s 未在模型中定义。 |
| 400 | Invalid.Parameter.ReturnFields | The specified returnFields is invalid. %s is not defined. | 参数ReturnFields错误:%s 未在模型中定义。 |
| 400 | Missing.Conditions | The specified Conditions is invalid. You must specify %s. | 输入参数Conditions 错误: %s 是必须项。 |
| 400 | Missing.Dimension.Measure | The dimension or measure %s does not exist in Cube. | Cube 模型中缺少维度或度量 %s 。 |
| 400 | Rowlevel.Permission.Forbbiden | The request is denied by row level permission. The dataset is %s, %s %s. | 请求被行级权限限制,数据集为%s,%s %s。 |
| 400 | Datasource.Sql.ExecuteFailed | Failed to execute the SQL statement in the data source. | 数据源执行SQL失败。 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。