对数据服务中已创建的API进行调用。
接口说明
前提条件
您需先通过 Quick BI 的数据服务,创建数据服务的 API,具体请参见:数据服务。
使用限制
- 数据服务功能仅针对专业版客户开放。
 - 数据服务 API 调用,接口超时时间为 60s,单个 API 的 QPS 为 10 次/秒。
 - 数据服务 API 所引用数据集,如果开启了行级权限,API 调用的时候也会被行级权限策略拦截。
 
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
 - 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
 - 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用前面加 * 表示。
 - 对于不支持资源级授权的操作,用
全部资源表示。 
 - 条件关键字:是指云产品自身定义的条件关键字。
 - 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
 
| 操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 | 
|---|---|---|---|---|
| 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": ["华东", "华北"], "shopping_date": "2019Q1", } | 
| ReturnFields | string | 否 | 返回参数的参数名列表,List 类型字符串。  | ["area", "city", "price", "date"] | 
返回参数
示例
正常返回示例
JSON格式
{
  "Success": true,
  "RequestId": "a4d1a221d-41za1-****",
  "Result": {
    "Headers": [
      {
        "Aggregator": "SUM",
        "Column": "具体的物理字段名",
        "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 '%华东%' GROUP BY COMPANY_T_1_.`area`, COMPANY_T_1_.`city` HAVING SUM(COMPANY_T_1_.`order_amt`) > 1 LIMIT 0, 10",
    "Values": [
      [
        {
          "area": "华东",
          "city": "三明市"
        },
        {
          "area": "华东",
          "city": "上海市"
        }
      ]
    ]
  }
}错误码
| 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失败。 | 
访问错误中心查看更多错误码。
