SDK使用指南

本文介绍了数据可视化分析Quick BI提供的SDK语言版本,列举了最新版本SDK的获取地址。

SDK概览

简介

数据可视化分析Quick BI SDK封装了API,以访问密钥(AccessKey)识别调用者身份,提供自动签名等功能,方便您通过API创建和管理资源。

实现数据可视化分析Quick BI功能需要您同时安装Quick BI SDK和阿里云核心库。以Java SDK为例,您需要下载aliyun-java-sdk-core以及aliyun-java-sdk-quickbi-public。

注意事项

  • 您需要前往阿里云 SDK页面下载SDK并查看使用。

  • 获取已开放的API接口,请参见API概览

  • 获取阿里云账号的AccessKey ID和AccessKey Secret。

    请参见创建AccessKey

  • 对于需要通过SDK调用API接口的用户,需要同时满足以下两个条件才支持使用SDK:

    • 其阿里云账户至少登录过一次Quick BI。

    • 其阿里云账户需要被授予Quick BI组织管理员的权限。同时管理员也可以通过开放平台首页,授予非管理员用户调用所有API的权限,具体操作请参见 概述 > 访问控制

支持的开发语言

数据可视化分析Quick BI支持Java、Python、C#等开发。更多SDK的信息,请访问阿里云开放平台

版本说明

发布版本

发布时间

变更说明

2.0.0

2022-03-04

开放API V2版本region化输出,上线接口涵盖了原开放API列表中的所有接口。

说明

原开放API列表在开放API V2版本上线后不再维护,后续的新增API接口统一基于V2版本迭代更新。

相关链接

阿里云开发者中心汇聚了高频使用的编程语言SDK,提供了Maven项目地址、pip命令、版本说明等信息。更多详情,请访问开发者中心

SDK调用方式

调用时,需要注意以下几点:

  • 请使用正确的阿里云账户对应的AccessKey ID和AccessKey Secret创建DefaultAcsClient实例并初始化,否则会出现code: 404, Specified access key is not found. request id: AA7FE476-F206-5C52-95B3-DF35CD30D468报错。

  • 阿里云账户对应的accessKey/secretKey,该阿里云账户被授予Quick BI的组织管理员权限,且至少登录过一次Quick BI,根据实际情况填写。

调用方式详情请参见SDK文档

API接口的流控说明

重要
  • 以下API接口的Version版本为2022-01-01

  • Quick BI公共云和金融云用户均支持调用以下API接口。

  • 仅专业版及以上版本开放API接口调用权限。

分类

API名称

API描述

QPS(次/秒)

超时时间(秒)

组织用户管理

AddUser

添加组织成员。

50

10

UpdateUser

更新组织下指定成员的信息。

50

10

QueryUserList

获取组织成员列表信息。

30

10

DeleteUser

删除指定组织用户。

50

10

QueryUserInfoByUserId

根据用户ID查询组织成员信息。

30

10

QueryUserInfoByAccount

根据阿里云账号ID或阿里云账号名称查询组织成员信息。

30

10

用户标签管理

AddUserTagMeta

新增组织成员标签元信息。

50

10

DeleteUserTagMeta

删除组织成员标签元信息。

50

10

QueryUserTagMetaList

查询组织内成员标签元信息列表。

30

10

UpdateUserTagValue

更改组织成员的标签值。

50

10

QueryUserTagValueList

查询特定用户的标签值列表。

30

10

UpdateUserTagMeta

更新组织成员标签元信息。

50

10

组织用户组管理

AddUserGroupMember

添加组织成员到指定用户组。

50

10

AddUserGroupMembers

批量添加用户至指定用户组。

50

10

DeleteUserGroupMember

删除指定用户组下的指定成员。

50

10

CreateUserGroup

在指定组织中新建用户组。

50

10

DeleteUserGroup

删除指定组织的用户组。

50

10

UpdateUserGroup

更新组织下指定用户组的信息。

50

10

QueryUserGroupMember

获取用户组下的成员列表信息。

30

10

QueryUserGroupListByParentId

获取指定父用户组下的子用户组信息。

30

10

GetUserGroupInfo

根据用户组名称关键字搜索用户组信息。

30

10

ListUserGroupsByUserId

查询用户所属用户组列表。

30

10

WithdrawAllUserGroups

使用户退出所有用户组。

50

10

DeleteUserGroupMembers

用户批量退出用户组。

50

10

ListByUserGroupId

根据用户组ID批量查询用户组信息。

50

10

报表分享授权管理

QueryShareList

获取授权列表信息。

30

10

AddShareReport

为报表添加授权策略。

50

10

QuerySharesToUserList

获取授权给用户的作品列表。

30

10

CancelReportShare

删除该报表的授权策略。

50

10

数据门户菜单授权管理

ListPortalMenus

获取门户菜单列表。

30

10

ListPortalMenuAuthorization

获取门户菜单的授权列表。

30

10

AuthorizeMenu

批量新增数据门户菜单授权。

50

10

CancelAuthorizationMenu

批量取消数据门户菜单授权。

50

10

ChangeVisibilityModel

修改数据门户菜单是否仅授权可见。

50

10

行级权限管理

QueryDatasetSwitchInfo

获取数据集行级权限开关状态。

30

10

UpdateDataLevelPermissionStatus

开启/关闭数据集行列权限。

50

10

ListCubeDataLevelPermissionConfig

获取数据集行列权限配置信息。

30

10

SetDataLevelPermissionRuleConfig

设置单条数据集行列权限配置信息。

50

10

DeleteDataLevelRuleConfig

删除数据集行列权限单条规则配置信息。

50

10

AddDataLevelPermissionRuleUsers

针对单条规则增量添加行级权限对应的用户。

50

10

DeleteDataLevelPermissionRuleUsers

针对单条规则删除行级权限对应的用户。

50

10

SetDataLevelPermissionExtraConfig

针对行级或列级权限做额外配置。

50

10

ListDataLevelPermissionWhiteList

获取数据集的行列权限白名单列表。

30

10

SetDataLevelPermissionWhiteList

全量设置行列权限白名单。

50

10

AddDataLevelPermissionWhiteList

增量设置行列权限白名单。

50

10

工作空间管理

UpdateWorkspaceUsersRole

更改空间成员角色。

50

10

QueryWorkspaceUserList

获取指定工作空间下的成员列表信息。

30

10

DeleteUserFromWorkspace

删除指定工作空间的成员。

50

10

QueryOrganizationWorkspaceList

获取当前组织下的工作空间列表信息。

30

10

AddUserToWorkspace

在指定的工作空间添加单个成员。

50

10

AddWorkspaceUsers

在指定的工作空间批量添加工作空间成员。

50

10

QueryUserRoleInfoInWorkspace

获取指定工作空间下成员角色信息。

30

10

UpdateWorkspaceUserRole

批量更新工作空间成员的角色信息。

50

10

报表资源管理

QueryWorksByOrganization

获取该组织下的报表列表信息。

30

10

QueryWorksByWorkspace

获取该组织中指定空间下的报表列表信息。

30

10

QueryReadableResourcesListByUserId

获取用户有权限查看的报表列表信息。

30

10

CheckReadable

校验用户是否有权限查看报表。

50

10

QueryEmbeddedInfo

获取组织下报表嵌入信息。

30

10

UpdateEmbeddedStatus

更改报表的嵌入状态。

50

10

QueryWorks

查询报表的相关信息。

30

10

QueryWorksBloodRelationship

查询指定报表的血缘信息。

30

10

数据集资源管理

QueryDatasetList

获取指定工作空间的数据集列表信息。

30

10

QueryDatasetDetailInfo

获取指定数据集的详情。

30

10

QueryDatasetInfo

获取数据集详情。

30

10

收藏管理

ListCollections

获取收藏列表。

30

10

SaveFavorites

添加收藏。

50

10

CancelCollection

取消收藏。

50

10

首页管理

ListFavoriteReports

获取指定用户首页我的看板的授权作品列表。

30

10

ListSharedReports

获取指定用户首页我的看板的收藏作品列表。

30

10

ListRecentViewReports

获取指定用户首页我的看板的最近浏览或常看作品列表。

30

10

数据服务

QueryDataService

调用在数据服务中已创建的API。

10

60

嵌入分析

CreateTicket

生成Ticket三方嵌入时的票据Ticket信息。

50

10

QueryTicketInfo

获取用户嵌入报表的Ticket详情。

30

10

DeleteTicket

删除用户嵌入报表的Ticket。

50

10

DelayTicketExpireTime

更新嵌入报表的Ticket的失效时间。

50

10

UpdateTicketNum

更新嵌入报表的Ticket票据数量。

50

10

开放审批

ResultCallback

自定义审批流回调接口,用户自行对Quick BI的审批流进行处理。

30

10

查看SDK版本

pom.xml文件中version的值以SDK获取地址中的最新版本为准。

您可以通过https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-quickbi-public查看SDK的版本。

如何限制并发的请求QPS不超过限流阈值?

问题描述:由于性能和安全的问题,公共云环境上Quick BI已经开放的API,默认都带有限流配置,在使用并发线程调用Quick BI开放API时,若实际并发请求的QPS超过限流阈值,则接口请求失败。

解决方案:推荐您使用Google的Guava工具组件中的RateLimiter类,进行接口请求的QPS限制。

  1. 如果您使用Maven管理Java项目,可以通过在pom.xml文件中添加Maven依赖。

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${google.guava.version}</version>
    </dependency>
    说明

    pom.xml文件中version的值以获取地址中的最新版本为准,最新版本请参见Guava: Google Core Libraries For Java

  2. 创建和使用RateLimiter。

    可以使用create()工厂方法创建RateLimiter实例,具体请参见https://www.baeldung.com/guava-rate-limiter

    // 创建一个30 QPS的流控RateLimiter。
    RateLimiter rateLimiter = RateLimiter.create(30);
    // 获取许可,如果QPS超过30,则阻塞等待。
    rateLimiter.acquire();
    // 获得许可,才会进行接口请求。
    doSomeAPIRequest();
说明

QPS(Query Per Second)是指,每秒钟请求或任务的数量。

并发数是指系统同时处理的请求或任务的数量。

QPS=并发数/平均响应时间。