This topic describes the software development kit (SDK) versions that Quick BI provides and explains how to obtain the latest versions.
SDK overview
Introduction
The Quick BI SDK for visual analytics provides a suite of encapsulated API operations. It uses an AccessKey pair for identity verification and offers features such as automatic signing to simplify resource creation and management.
The Quick BI software development kit (SDK) for visual analytics encapsulates API operations. It uses an AccessKey pair to identify callers and provides features such as automatic signing to help you create and manage resources. To use the visual analytics features of Quick BI, you must install both the Quick BI SDK and the Alibaba Cloud core library. For example, if you use the Java SDK, you must download aliyun-java-sdk-core and aliyun-java-sdk-quickbi-public.
Notes
Go to the Alibaba Cloud SDK page to download the SDK and view its usage instructions.
For a list of available API operations, see API reference.
Obtain the AccessKey ID and AccessKey secret for your Alibaba Cloud account.
For more information, see Create an AccessKey pair.
To call API operations using an SDK, you must meet the following two conditions:
You have logged on to Quick BI with your Alibaba Cloud account at least once.
Your Alibaba Cloud account is granted the organization administrator role in Quick BI. An administrator can also grant non-administrator users the permissions to call all API operations on the Open Platform page. For more information, see Overview > Access control.
Supported programming languages
Quick BI supports development using software development kits (SDKs) in languages such as Java, Python, and C#. For more information about the SDKs, visit the Alibaba Cloud Open Platform.
Version guide
Published Version | Release time | Change description |
2.0.0 | 2022-03-04 | API V2 is released with region-specific endpoints. The published operations cover all operations from the original API list. Note The original API list is no longer maintained after the release of API V2. All new API operations are added to V2. |
Related links
Alibaba Cloud Developer Center provides SDKs for frequently used programming languages. It also provides information such as quick start tutorials and lists of open source projects. For more information, see Alibaba Cloud Developer Center.
SDK call methods
When you call the SDK, note the following:
Create and initialize a DefaultAcsClient instance using the AccessKey ID and AccessKey secret that correspond to your Alibaba Cloud account. Otherwise, the following error is reported:
code: 404, Specified access key is not found. request id: AA7FE476-F206-5C52-95B3-DF35CD30D468.The AccessKey pair must belong to an Alibaba Cloud account that is granted the organization administrator role in Quick BI and has been used to log on to Quick BI at least once. Specify the AccessKey pair as needed.
For more information about how to call the SDK, see SDK documentation.
API operation throttling
The version of the following API operations is 2022-01-01.
Users of Quick BI that is deployed in the public cloud and Finance Cloud can call the following API operations.
Only Quick BI Professional and higher editions support API calls.
Category | API Name | Description | QPS (calls/second) | Timeout (seconds) |
Organization and user management | Adds a member to an organization. | 50 | 10 | |
Updates the information about a specified member in an organization. | 50 | 10 | ||
Queries a list of members in an organization. | 30 | 10 | ||
Deletes a specified user from an organization. | 50 | 10 | ||
Queries the information about a member in an organization by user ID. | 30 | 10 | ||
Queries the information about a member in an organization by Alibaba Cloud account ID or name. | 30 | 10 | ||
User tag management | Adds metadata for the tags of a member in an organization. | 50 | 10 | |
Deletes the metadata of the tags of a member in an organization. | 50 | 10 | ||
Queries the list of metadata of the tags of members in an organization. | 30 | 10 | ||
Changes the tag values of a member in an organization. | 50 | 10 | ||
Queries the list of tag values for a specified user. | 30 | 10 | ||
Updates the metadata of the tags of a member in an organization. | 50 | 10 | ||
Organization and user group management | Adds a member of an organization to a specified user group. | 50 | 10 | |
Adds multiple users to a specified user group in a batch. | 50 | 10 | ||
Deletes a specified member from a specified user group. | 50 | 10 | ||
Creates a user group in a specified organization. | 50 | 10 | ||
Deletes a user group from a specified organization. | 50 | 10 | ||
Updates the information about a specified user group in an organization. | 50 | 10 | ||
Queries the list of members in a user group. | 30 | 10 | ||
Queries the information about the child user groups of a specified parent user group. | 30 | 10 | ||
Searches for user groups by keyword of the user group name. | 30 | 10 | ||
Queries the list of user groups to which a user belongs. | 30 | 10 | ||
Removes a user from all user groups. | 50 | 10 | ||
Removes multiple users from user groups in a batch. | 50 | 10 | ||
Queries the information about multiple user groups at a time by user group ID. | 50 | 10 | ||
Report sharing and authorization | Queries a list of authorizations. | 30 | 10 | |
Adds an authorization policy to a report. | 50 | 10 | ||
Queries the list of works that are authorized to a user. | 30 | 10 | ||
Deletes the authorization policy of a report. | 50 | 10 | ||
BI portal menu authorization | Queries a list of BI portal menus. | 30 | 10 | |
Queries the authorization list of a BI portal menu. | 30 | 10 | ||
Adds authorizations to BI portal menus in a batch. | 50 | 10 | ||
Cancels the authorizations of BI portal menus in a batch. | 50 | 10 | ||
Modifies the visibility of a BI portal menu. You can set the menu to be visible only to authorized users. | 50 | 10 | ||
Row-level permission management | Queries the status of the row-level permissions switch for a dataset. | 30 | 10 | |
Enables or disables row-level and column-level permissions for a dataset. | 50 | 10 | ||
Queries the configurations of row-level and column-level permissions for a dataset. | 30 | 10 | ||
Configures a rule for the row-level and column-level permissions on a dataset. | 50 | 10 | ||
Deletes a rule for the row-level and column-level permissions on a dataset. | 50 | 10 | ||
Incrementally adds users that are granted row-level permissions based on a rule. | 50 | 10 | ||
Deletes users that are granted row-level permissions based on a rule. | 50 | 10 | ||
Specifies additional configurations for row-level or column-level permissions. | 50 | 10 | ||
Queries the whitelist for the row-level and column-level permissions on a dataset. | 30 | 10 | ||
Configures a whitelist for row-level and column-level permissions. | 50 | 10 | ||
Incrementally configures a whitelist for row-level and column-level permissions. | 50 | 10 | ||
Workspace Management | Changes the roles of members in a workspace. | 50 | 10 | |
Queries a list of members in a specified workspace. | 30 | 10 | ||
Deletes a member from a specified workspace. | 50 | 10 | ||
Queries a list of workspaces in the current organization. | 30 | 10 | ||
Adds a member to a specified workspace. | 50 | 10 | ||
Adds multiple members to a specified workspace in a batch. | 50 | 10 | ||
Queries the role information of members in a specified workspace. | 30 | 10 | ||
Updates the role information of members in a workspace in a batch. | 50 | 10 | ||
Report resource management | Queries a list of reports in an organization. | 30 | 10 | |
Queries a list of reports in a specified workspace of an organization. | 30 | 10 | ||
Queries a list of reports that a user has the permissions to view. | 30 | 10 | ||
Checks whether a user has the permissions to view a report. | 50 | 10 | ||
Queries the embedding information about reports in an organization. | 30 | 10 | ||
Changes the embedding status of a report. | 50 | 10 | ||
Queries the information about a report. | 30 | 10 | ||
Queries the data lineage of a specified report. | 30 | 10 | ||
Dataset resource management | Queries a list of datasets in a specified workspace. | 30 | 10 | |
Queries the details of a specified dataset. | 30 | 10 | ||
Queries the details of a dataset. | 30 | 10 | ||
Management of Favorites | Queries the list of favorites. | 30 | 10 | |
Adds a work to favorites. | 50 | 10 | ||
Removes a work from favorites. | 50 | 10 | ||
Homepage management | Queries the list of authorized works on the My Dashboards page for a specified user. | 30 | 10 | |
Queries the list of favorite works on the My Dashboards page for a specified user. | 30 | 10 | ||
Queries the list of recently or frequently viewed works on the My Dashboards page for a specified user. | 30 | 10 | ||
DataService Studio | Calls an API operation that is created in DataService Studio. | 10 | 60 | |
Embedded analytics | Generates a ticket for third-party embedding. | 50 | 10 | |
Queries the details of a ticket that is used to embed a report. | 30 | 10 | ||
Deletes a ticket that is used to embed a report. | 50 | 10 | ||
Updates the expiration time of a ticket that is used to embed a report. | 50 | 10 | ||
Updates the number of tickets that can be used to embed a report. | 50 | 10 | ||
Open approval | A callback API operation for custom approval workflows. You can use this operation to process approval workflows in Quick BI. | 30 | 10 |
View the SDK version
In the pom.xml file, make sure that the value of version is the latest version available at the SDK download address.
You can view the SDK version at https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-quickbi-public.
How to prevent the number of concurrent requests per second from exceeding the throttling threshold
Problem description: For performance and security purposes, the API operations of Quick BI that is deployed in the public cloud are throttled by default. If you use concurrent threads to call the API operations and the actual number of queries per second (QPS) exceeds the throttling threshold, the requests fail.
Solution: You can use the RateLimiter class of the Google Guava component to limit the QPS of API requests.
If you use Maven to manage your Java project, add the Maven dependency to the pom.xml file.
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${google.guava.version}</version> </dependency>NoteIn the pom.xml file, make sure that the value of version is the latest version available at the download address. For the latest version, see Guava: Google Core Libraries For Java.
Create and use a RateLimiter.
You can use the
create()factory method to create a RateLimiter instance. For more information, see https://www.baeldung.com/guava-rate-limiter.// Create a RateLimiter for throttling with a limit of 30 QPS. RateLimiter rateLimiter = RateLimiter.create(30); // Obtain a permit. If the QPS exceeds 30, the request is blocked and must wait. rateLimiter.acquire(); // An API request can be sent only after a permit is obtained. doSomeAPIRequest();
Queries per second (QPS) is the number of requests or tasks that are processed per second.
Concurrency is the number of requests or tasks that the system processes at the same time.
QPS = Concurrency/Average response time.