Calls an API that was created in DataService Studio.
Operation description
Prerequisites
An API must be created in DataService Studio in Quick BI. For more information, see DataService Studio.
Limits
-
DataService Studio is available only for the Professional Edition.
-
The timeout period for a DataService Studio API call is 60 s. The queries per second (QPS) for a single API is 10.
-
If you enable row-level permissions for a dataset that is referenced by a DataService Studio API, the row-level access policy intercepts the API calls.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
quickbi-public:QueryData |
get |
*All Resource
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| ApiId |
string |
Yes |
The ID of the API in DataService Studio. For more information, see DataService Studio. |
f4cc43bc3*** |
| UserId |
string |
No |
The user ID in Quick BI. For more information about how to obtain the user ID, see QueryUserInfoByAccount. Note
This parameter specifies the identity of the user who uses DataService Studio. You can use it with the row-level and column-level permission configurations of the dataset. Important
If you do not pass this parameter, or pass an empty string or null, the user ID of the owner of the current Quick BI organization is used by default. |
b5d8fd9348cc4327****afb604 |
| Conditions |
string |
No |
The filter conditions for DataService Studio. Pass the conditions as key-value pairs in a map-type string. The key is the name of the request parameter, and the value is the value of the request parameter. Keys and values must appear in pairs. Note:
|
{ "area": ["test", "test"], "shopping_date": "2019Q1", } |
| ReturnFields |
string |
No |
A list of the names of the returned parameters, in a list-type string format. |
["area", "city", "price", "date"] |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| Success |
boolean |
Indicates whether the request was successful. Valid values:
|
true |
| RequestId |
string |
The request ID. |
a4d1a221d-41za1-**** |
| Result |
object |
The result of the API call. Valid values:
|
|
| Headers |
array<object> |
The column headers. |
|
|
object |
Column headers. |
||
| Aggregator |
string |
The aggregate operator. This parameter is returned only for measure fields, such as SUM, AVG, and MAX.
|
SUM |
| Column |
string |
The field name. It corresponds to the field name in the physical table. |
test |
| DataType |
string |
The data type of the field. Common types include the following:
|
string |
| Granularity |
string |
The granularity of the dimension field. This parameter is returned only when the requested field is a date dimension or a geographic dimension. Valid values:
|
REGION |
| Label |
string |
The alias of the field. It is the key for the map data row in the values result parameter. |
area |
| Type |
string |
The field type. It indicates whether the field is a dimension or a measure.
|
Dimension |
| OriginalColumn |
string |
The original name of the corresponding field in the dataset. |
area |
| Sql |
string |
The SQL statement for the query. Note
In addition to the filter conditions passed in the current API call, the returned SQL statement also includes the row-level and column-level permission configurations. |
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> |
The query results. |
|
|
object |
The rows and columns of the returned data. This parameter has a List<Map> structure. Each map represents a row of data. The key in the map corresponds to the |
[{"area":"test","city":"test"},{"area":"test","city":"test"}] |
Examples
Success response
JSON format
{
"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"
}
]
]
}
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | API.No.Permission | You are not authorized to call the data service API operation. | You are not authorized to call the data service API operation. |
| 400 | API.Not.Exist | The data service API operation does not exist. | The data service API operation does not exist. |
| 400 | Cube.Not.Exist | The Cube does not exist. | The Cube does not exist. |
| 400 | Invalid.Parameter.Conditions | The specified Conditions is invalid. %s is not defined. | The specified Conditions is invalid. %s is not defined. |
| 400 | Invalid.Parameter.ReturnFields | The specified returnFields is invalid. %s is not defined. | The specified returnFields is invalid. %s is not defined. |
| 400 | Missing.Conditions | The specified Conditions is invalid. You must specify %s. | The specified Conditions is invalid. You must specify %s. |
| 400 | Missing.Dimension.Measure | The dimension or measure %s does not exist in Cube. | The dimension or measure %s does not exist in Cube. |
| 400 | Rowlevel.Permission.Forbbiden | The request is denied by row level permission. The dataset is %s, %s %s. | Request forbidden by row level permission, dataset is %s, %s %s. |
| 400 | Datasource.Sql.ExecuteFailed | Failed to execute the SQL statement in the data source. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.