This topic describes the SDK language versions Quick BI offers for data visualization analytics and provides links to obtain the latest SDK version.
SDK overview
Introduction
The Quick BI SDK for data visualization analytics provides a suite of encapsulated APIs, uses an AccessKey pair for identity verification, and offers features like automatic signing for convenient resource creation and management via APIs.
To utilize Quick BI's data visualization analytics features, you must install both the Quick BI SDK and the Alibaba Cloud core library. For instance, the Java SDK requires downloading aliyun-java-sdk-core and aliyun-java-sdk-quickbi-public.
Precautions
To download the SDK and review its usage, visit the Alibaba Cloud SDK page.
For a list of available API interfaces, see List of operations by function.
Retrieve the AccessKey ID and AccessKey Secret for your Alibaba Cloud account.
For more information, see Obtain an AccessKey pair.
To call API interfaces through the SDK, users must satisfy two conditions:
They must have logged into Quick BI with their Alibaba Cloud account at least once.
They must have Quick BI organization administrator permissions. Administrators can grant non-administrator users API calling permissions through the open platform's homepage. For instructions, see Overview > Access Control.
Supported programming languages
Quick BI supports SDK development in Java, Python, C#, and other languages. For SDK details, visit the Alibaba Cloud Open Platform.
Version description
Release version | Release date | Change description |
2.0.0 | 2022-03-04 | The API V2 version is regionally output. The online interface covers all interfaces in the original API list. Note The original API list will no longer be maintained after the API V2 version is published. Subsequent new API interfaces will be iteratively updated based on the V2 version. |
Related links
The Alibaba Cloud Developer Center provides a comprehensive range of popular SDKs for different programming languages, along with resources like Getting Started Tutorials and access to open source projects. For more information, visit the Alibaba Cloud Developer Center.
SDK invocation methods
When invoking the SDK, consider the following:
Use the correct AccessKey ID and AccessKey Secret associated with your Alibaba Cloud account to create and initialize the DefaultAcsClient instance. Failure to do so will result in the error
code: 404, Specified access key is not found. request id: AA7FE476-F206-5C52-95B3-DF35CD30D468
.The AccessKey/SecretKey must be associated with an Alibaba Cloud account with Quick BI organization administrator permissions and must have been used to log into Quick BI at least once. Fill in the details as appropriate.
For detailed invocation methods, refer to the SDK Documentation.
Flow control description of API interfaces
The version for the following API interfaces is 2022-01-01.
Both Quick BI public cloud and Alibaba Finance Cloud users can call the following API interfaces.
Only Professional Edition and higher versions allow API interface calling permissions.
Classification | API name | API description | QPS (times/second) | Timeout (seconds) |
User management | Add organization members. | 50 | 10 | |
Update information of specified members in the organization. | 50 | 10 | ||
Retrieve the list of organization members. | 30 | 10 | ||
Delete specified organization users. | 50 | 10 | ||
Query organization member information by user ID. | 30 | 10 | ||
Query organization member information by Alibaba Cloud account ID or Alibaba Cloud account name. | 30 | 10 | ||
User label management | Add metadata for organization member tags. | 50 | 10 | |
Delete metadata for organization member tags. | 50 | 10 | ||
Query the list of metadata for member tags within the organization. | 30 | 10 | ||
Change the tag value of organization members. | 50 | 10 | ||
Query the list of tag values for specific users. | 30 | 10 | ||
Update metadata for organization member tags. | 50 | 10 | ||
User group management | Add organization members to a specified user group. | 50 | 10 | |
Batch add users to a specified user group. | 50 | 10 | ||
Delete specified members from a specified user group. | 50 | 10 | ||
Create a new user group in a specified organization. | 50 | 10 | ||
Delete a user group from a specified organization. | 50 | 10 | ||
Update information of a specified user group in the organization. | 50 | 10 | ||
Retrieve the list of members in a user group. | 30 | 10 | ||
Retrieve information about sub-user groups under a specified parent user group. | 30 | 10 | ||
Search for user group information by user group name keyword. | 30 | 10 | ||
Query the list of user groups to which a user belongs. | 30 | 10 | ||
Remove a user from all user groups. | 50 | 10 | ||
Batch remove users from user groups. | 50 | 10 | ||
Batch query user group information by user group ID. | 50 | 10 | ||
Report sharing authorization management | Retrieve the authorization list information. | 30 | 10 | |
Add an authorization policy for the report. | 50 | 10 | ||
Retrieve the list of works authorized to users. | 30 | 10 | ||
Delete the authorization policy for the report. | 50 | 10 | ||
BI portal menu authorization management | Retrieve the list of portal menus. | 30 | 10 | |
Retrieve the authorization list of portal menus. | 30 | 10 | ||
Batch add BI portal menu authorizations. | 50 | 10 | ||
Batch cancel BI portal menu authorizations. | 50 | 10 | ||
Modify whether the BI portal menu is visible only to authorized users. | 50 | 10 | ||
Row-level permissions management | Retrieve the switch status of row-level permissions for datasets. | 30 | 10 | |
Enable or disable row and column permissions for datasets. | 50 | 10 | ||
Retrieve configuration information for row and column permissions of datasets. | 30 | 10 | ||
Set configuration information for a single row and column permission rule of a dataset. | 50 | 10 | ||
Delete configuration information for a single row and column permission rule of a dataset. | 50 | 10 | ||
Incrementally add users corresponding to row-level permissions for a single rule. | 50 | 10 | ||
Delete users corresponding to row-level permissions for a single rule. | 50 | 10 | ||
Make additional configurations for row-level or column-level permissions. | 50 | 10 | ||
Retrieve the whitelist of row and column permissions for datasets. | 30 | 10 | ||
Set the whitelist of row and column permissions in full. | 50 | 10 | ||
Incrementally set the whitelist of row and column permissions. | 50 | 10 | ||
Workspace management | Change the roles of workspace members. | 50 | 10 | |
Retrieve the list of members in a specified workspace. | 30 | 10 | ||
Delete members from a specified workspace. | 50 | 10 | ||
Retrieve the list of workspaces in the current organization. | 30 | 10 | ||
Add a single member to a specified workspace. | 50 | 10 | ||
Batch add workspace members to a specified workspace. | 50 | 10 | ||
Retrieve role information of members in a specified workspace. | 30 | 10 | ||
Batch update role information of workspace members. | 50 | 10 | ||
Report resource management | Retrieve the list of reports in the organization. | 30 | 10 | |
Retrieve the list of reports in a specified space within the organization. | 30 | 10 | ||
Retrieve the list of reports that the user has permission to view. | 30 | 10 | ||
Verify whether the user has permission to view the report. | 50 | 10 | ||
Retrieve embedded information of reports in the organization. | 30 | 10 | ||
Change the embedded status of the report. | 50 | 10 | ||
Query related information of the report. | 30 | 10 | ||
Query lineage information of a specified report. | 30 | 10 | ||
Dataset resource management | Retrieve the list of datasets in a specified workspace. | 30 | 10 | |
Retrieve details of a specified dataset. | 30 | 10 | ||
Retrieve dataset details. | 30 | 10 | ||
Management of favorites | Retrieve the list of favorites. | 30 | 10 | |
Add to favorites. | 50 | 10 | ||
Remove from favorites. | 50 | 10 | ||
Homepage management | Retrieve the list of authorized works on the My Dashboard of the specified user's homepage. | 30 | 10 | |
Retrieve the list of favorite works on the My Dashboard of the specified user's homepage. | 30 | 10 | ||
Retrieve the list of recently viewed or frequently viewed works on the My Dashboard of the specified user's homepage. | 30 | 10 | ||
Data services | Call APIs created in data services. | 10 | 60 | |
Embedding analytics | Generate ticket information for third-party embedding. | 50 | 10 | |
Retrieve ticket details for user-embedded reports. | 30 | 10 | ||
Delete the ticket for user-embedded reports. | 50 | 10 | ||
Update the expiration time of the ticket for embedded reports. | 50 | 10 | ||
Update the number of tickets for embedded reports. | 50 | 10 | ||
Enable approval | Custom approval flow callback interface. Users handle the approval flow of Quick BI by themselves. | 30 | 10 |
Query the version of oss sdk for go
The pom.xml
file's version
value should reflect the latest version available at the SDK download address.
To check the SDK version, visit https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-quickbi-public
.
How to limit concurrent request QPS not to exceed the throttling threshold?
Problem Description: The Quick BI public cloud environment's open APIs are configured with default throttling for performance and security reasons. If the actual concurrent request QPS exceeds the throttling threshold when using concurrent threads to call these APIs, the request will fail.
Solution: To manage QPS, consider using the RateLimiter class from Google's Guava library.
If managing Java projects with Maven, include the Maven dependencies in the pom.xml file.
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${google.guava.version}</version> </dependency>
NoteThe pom.xml file's version value should be based on the latest version available at the download address. For the most recent version, see Guava: Google Core Libraries For Java.
Create and utilize RateLimiter.
Create a RateLimiter instance using the
create()
factory method. For more details, see https://www.baeldung.com/guava-rate-limiter.// Create a RateLimiter with a flow control of 30 QPS. RateLimiter rateLimiter = RateLimiter.create(30); // Acquire permission. If QPS exceeds 30, block and wait. rateLimiter.acquire(); // Obtain permission before making an API request. doSomeAPIRequest();
QPS (Queries Per Second) indicates the number of requests or tasks processed per second.
Concurrency is the number of requests or tasks the system processes simultaneously.
QPS = Concurrency / Average Response Time.