阿里云智能商业分析Quick BI对接使用完全指南

简介: 本文系统性地讲解了阿里云Quick BI的对接与使用全流程。首先介绍Quick BI的产品定位与核心对接场景,随后深入讲解数据源配置的三种入口与网络连通方案,重点剖析报表嵌入的基础方案与Ticket安全增强方案的差异与适用场景。文章详细展示了Java与Python SDK的调用示例,深入解析全局参数在嵌入场景中的传参机制与权限控制原理,并提供了React框架下Embedded JS SDK的完整开发示例。最后从成本优化、性能调优、常见故障排查等维度给出实战建议,帮助读者从零开始完成Quick BI与企业业务系统的深度融合。

1. Quick BI产品概述与对接场景

阿里云智能商业分析Quick BI是一款全场景数据消费式的BI平台,它通过智能化的数据分析与可视化能力,帮助企业快速搭建数据门户、仪表板、电子表格等数据产品。在实际业务中,Quick BI的对接使用主要涵盖三个核心场景:数据源的接入与配置、报表与分析页面的嵌入式集成、以及通过OpenAPI实现自动化管理与数据交互。

对于已经拥有业务系统的企业而言,将Quick BI的报表能力无缝嵌入到自有系统中,是实现数据驱动决策的关键步骤。Quick BI提供了从基础方案到安全增强方案的完整嵌入体系,支持仪表板、电子表格、数据大屏、自助取数、即席分析和数据填报等多种对象类型的嵌入。

需要先登录阿里云控制台,点击:阿里云控制台

2. 数据源配置:打通Quick BI与业务数据

2.1 数据源创建入口

Quick BI提供了多种进入数据源创建界面的方式,用户可以根据操作习惯灵活选择。第一种方式是在空间外通过资源入口快速创建,适合初次配置数据源时使用;第二种方式是从空间内的数据源模块进入,这是最常用的路径;第三种方式是在空间内的资源列表上快速创建,适合在已有工作空间中快速添加数据源。

无论通过哪种入口,新建数据源后都会跳转到连接配置界面,用户可以选择对应的数据源类型进行配置。

2.2 网络连通方案

数据源与Quick BI之间的网络连通是配置成功的前提。Quick BI支持公网和内网两种连接方式。通过公网连接时,需要将Quick BI的IP地址添加到数据库的白名单中,确保网络畅通。用户可以在数据源配置界面单击“复制白名单”获取Quick BI的公网IP列表。

通过内网连接时,如果数据库部署在阿里云的ECS上,可以通过阿里云VPC进行连接。此外,也可以搭建跳板机,通过SSH隧道访问并登录数据库。对于VPC数据源,还需要配置购买者的AccessKey ID和AccessKey Secret,以及ECS实例ID和所在区域。

2.3 MySQL数据源配置示例

以自建MySQL数据源为例,Quick BI支持MySQL 5.5、5.6、5.7、8.0版本。配置时需要填写以下关键参数:显示名称(数据源配置列表中的标识)、数据库地址(IP或域名)、端口(默认3306)、数据库名称、用户名和密码。

如果目标数据源已配置SSL,可以选中安全协议SSL来保护数据传输安全。对于需要通过跳板机访问的场景,可以开启SSH隧道并配置跳板机的IP、用户名、密码和端口。配置完成后,单击“连接测试”验证连通性,确认无误后即可保存数据源。

除了MySQL,Quick BI还支持ClickHouse、SelectDB、Apache Doris、GaussDB、IBM DB2 LUW等多种数据源。

2.4 跨数据源关联

Quick BI支持在数据集编辑页面将来自不同数据源的数据表进行关联分析。操作方式是在数据集编辑画布中,从目标数据库下拖拽数据表至画布,再切换数据源拖拽另一数据表,然后配置关联关系(支持左连接、右连接、内连接等)。这一能力使得企业可以将分散在不同数据库中的业务数据整合到同一份报表中进行综合分析。

3. 报表嵌入:将Quick BI能力集成到业务系统

3.1 嵌入方案概览

Quick BI支持将群空间中的报表嵌入到第三方系统中,实现业务一体化应用。根据版本和功能需求的不同,Quick BI提供了基础方案和增强方案两种嵌入模式。

基础方案适用于高级版和专业版,支持仪表板和电子表格的嵌入。在基础方案中,嵌入后的报表绑定的是报表Owner的权限,无法实现不同用户看到不同数据的效果。每个Ticket最多支持10万次访问,有效时长最大为240分钟,不支持水印、全局参数和区块嵌入。

增强方案(Ticket方案)仅适用于专业版,提供了更强大的安全管控和个性化能力。增强方案支持自定义绑定用户,实现千人千面的数据权限控制。访问次数不限量且支持自定义设置,支持水印(大屏除外)、全局参数、区块嵌入,以及任意次数的报表跳转。

3.2 基础方案实施步骤

实施基础方案的第一步是开通需要嵌入的报表。仅当报表处于发布状态时,才支持设置嵌入功能。在Quick BI产品首页进入开放平台,在嵌入报表页面选择目标工作空间和数据对象类型,选中目标报表后单击“开通嵌入”。

开通嵌入后,系统会生成嵌入用的URL或Iframe代码。在实际集成时,需要将生成的URL嵌入到第三方系统的页面中。需要注意的是,基础方案不支持在嵌入后区分数据权限,报表的行级权限功能无法生效,与报表作者的数据权限保持一致。

3.3 增强方案(Ticket方案)实施步骤

Ticket增强方案通过票据(Ticket)机制实现安全管控,有效防止链接被恶意分享导致的数据泄露。

步骤一:开通嵌入报表。与基础方案类似,在开放平台的嵌入报表页面选择目标报表并开通嵌入。在报表嵌入配置对话框中,可以选择嵌入页面整体或某个具体组件。

步骤二:通过API生成AccessTicket票据。调用Quick BI的OpenAPI生成报表嵌入所需的Ticket。生成Ticket时需要指定绑定用户、有效时长和访问次数等参数。绑定用户决定了嵌入后报表展示的数据权限范围。有效时长默认240分钟,最大不超过240分钟。访问次数默认为1次,最大支持9999次。

步骤三:拼接免登URL。将生成的Ticket拼接至Quick BI报表的访问URL中,形成完整的免登嵌入链接。用户访问该链接时无需再次登录Quick BI即可查看报表,且数据权限受Ticket绑定的用户权限控制。

3.4 智能小Q嵌入

Quick BI专业版还提供了智能小Q(Smart Q)的嵌入能力,支持将智能问答能力集成到第三方系统中。小Q嵌入同样采用Ticket票据认证机制,可实现链接、访问、问数等多场景一站式安全管控。

配置小Q嵌入时,需要在组织管理 > 小Q问数 > 嵌入管理页面创建嵌入模块。配置内容包括数据范围(按问数资源或按分析主题)、智能体信息(名称、昵称、图标)、模块外观(主题风格)、输入引导及欢迎区等。配置完成后,通过调用create4Copilot接口生成Ticket,拼接URL后即可嵌入使用。

4. OpenAPI与SDK调用

4.1 API概览与调用前提

Quick BI提供了丰富的OpenAPI接口,覆盖组织用户管理、角色管理、权限管理、资源管理等维度。API的Version版本为2022-01-01。调用API需要满足两个条件:调用者的阿里云账户至少登录过一次Quick BI,且被授予Quick BI组织管理员的权限。非管理员用户也可以通过开放平台首页被授予调用API的权限。

4.2 Java SDK调用示例

使用Java SDK需要同时安装阿里云核心库(aliyun-java-sdk-core)和Quick BI专用SDK(aliyun-java-sdk-quickbi-public)。

以下是一个完整的Java SDK调用示例,演示如何调用组织用户管理相关的API:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.quickbi_public.model.v20220101.AddUserRequest;
import com.aliyuncs.quickbi_public.model.v20220101.AddUserResponse;
public class QuickBIDemo {
    public static void main(String[] args) {
        // 1. 创建Profile并设置Region
        DefaultProfile profile = DefaultProfile.getProfile(
            "cn-hangzhou",
            "your-access-key-id",
            "your-access-key-secret"
        );
        IAcsClient client = new DefaultAcsClient(profile);
        // 2. 构造请求对象
        AddUserRequest request = new AddUserRequest();
        request.setAccountName("user@example.com");
        request.setAccountType(1); // 1表示RAM子账号
        request.setAdminUser(false);
        request.setAuthAdminUser(false);
        request.setNickName("数据分析师");
        request.setUserType(1); // 1表示开发者
        try {
            // 3. 发起调用
            AddUserResponse response = client.getAcsResponse(request);
            System.out.println("用户ID: " + response.getResult());
        } catch (ServerException e) {
            System.out.println("服务端错误: " + e.getErrCode() + " - " + e.getErrMsg());
        } catch (ClientException e) {
            System.out.println("客户端错误: " + e.getErrCode() + " - " + e.getErrMsg());
        }
    }
}

调用时需要注意使用正确的AccessKey ID和AccessKey Secret,否则会出现“Specified access key is not found”的错误。

4.3 Python SDK调用示例

Quick BI同样支持Python语言的SDK调用。以下是一个使用Python SDK查询组织成员列表的示例:

from aliyunsdkcore.client import AcsClient
from aliyunsdkquickbi_public.request.v20220101 import QueryUserListRequest
# 1. 创建客户端
client = AcsClient(
    'your-access-key-id',
    'your-access-key-secret',
    'cn-hangzhou'
)
# 2. 构造请求
request = QueryUserListRequest.QueryUserListRequest()
request.set_accept_format('json')
# 3. 发起调用并处理响应
try:
    response = client.do_action_with_exception(request)
    print(response.decode('utf-8'))
except Exception as e:
    print('调用失败:', str(e))

4.4 流控说明

Quick BI的API接口有明确的流控限制。以组织用户管理类API为例,添加组织成员接口的QPS为50次/秒,超时时间为10秒。查询类接口如获取组织成员列表的QPS为30次/秒。在实际开发中需要合理控制调用频率,避免触发流控限制。

5. 全局参数与传参嵌入

5.1 全局参数的概念

全局参数是Quick BI提供的一种标准化参数注入机制,允许报表使用者在预览报表时通过URL参数动态改变图表和查询控件的过滤条件。全局参数的核心价值在于实现同一份报表在不同上下文中的差异化展示。

全局参数的作用对象主要有两种:第一种是查询控件,全局参数会以注入的值作为查询控件的默认值;第二种是图表本身,全局参数会在图表查询SQL上拼接额外的过滤条件(例如`and area = '华北'`),用户无法更改这个结果。

5.2 全局参数配置方法

全局参数的配置入口位于报表顶部,报表需要先保存后才会显示配置入口。配置时需要注意以下规则:参数名称长度不超过50个字符,仅支持英文、数字和下划线。关联查询控件时,全局参数的值类型必须与查询控件关联条件的展示类型匹配。关联图表时,全局参数会自动填充到图表的SQL查询中。如果同时关联多个数据集的字段,选中字段的类型和粒度必须保持一致。

5.3 嵌入场景下的参数传递

在报表嵌入场景中,全局参数通过在嵌入URL中附加参数的方式传递。以下是一个带全局参数的嵌入URL示例:

https://bi-cn-hongkong.data.aliyun.com/embed/dashboard?workspaceId=xxx&dashboardId=yyy¶m_area=华东¶m_year=2026

在嵌入URL中,`param_area`和`param_year`即为全局参数,报表内部配置了同名的全局参数后,会自动接收这些值并应用到对应的查询控件或图表中。

对于需要传递多个值的场景,可以按照JSON数组格式进行传递:

[
    {"paramKey": "region", "joinType": "and", "value": ["华北", "华东"]}
]

5.4 权限控制与传参的结合

在增强方案中,全局参数可以与Ticket绑定用户配合使用,实现更精细的权限控制。例如,可以为不同部门的用户生成不同的Ticket,每个Ticket绑定对应的用户身份,同时在URL中注入部门维度的全局参数,从而实现同一份报表在不同用户视角下的数据隔离。

需要注意的是,全局参数关联到图表时,服务器端会直接在SQL层面拼接过滤条件,用户无法通过前端操作绕过。这一机制保证了数据权限的安全性。

6. 嵌入式JavaScript SDK开发

6.1 SDK概述

Quick BI提供了嵌入式JavaScript SDK(@quickbi/bi-embed-client-react),支持在React等前端框架中无缝嵌入Quick BI页面。通过JS SDK进行页面集成,开发者需要在自有系统内打通Quick BI的登录态,否则嵌入的页面会首先跳转到Quick BI的登录页。

6.2 React框架嵌入示例

以下是在React框架中嵌入Quick BI工作空间页面的完整示例:

import { EmbedComponent, EmbedRouteKey } from "@quickbi/bi-embed-client-react";
export const MyPage: React.FC = () => {
    const src = {
        origin: 'https://your-quickbi-domain.com',
        page: EmbedRouteKey.workspace,
        search: {
            workspaceId: 'your-workspace-id'
        }
    };
    return <EmbedComponent src={src} />;
};

6.3 页面定制与特性配置

SDK提供了丰富的特性配置能力,允许开发者对嵌入页面进行定制。以下示例展示了如何隐藏嵌入页面的头部导航栏:

export const SdkDemo: React.FC = () => {
    return (
        <EmbedComponent 
            src={src} 
            feature={{
                [EmbedRouteKey.homeRoot]: {
                    header: {
                        show: false
                    }
                }
            }} 
        />
    );
};

更复杂的定制场景包括调整按钮位置和显示状态。以下示例展示了如何隐藏发布、下线、分享按钮,同时将另存为按钮设置为保存按钮之后的主按钮:

export const SdkDemo: React.FC = () => {
    return (
        <EmbedComponent 
            src={src} 
            feature={{
                [EmbedRouteKey.dashboardEdit]: {
                    publish: { show: false },
                    offline: { show: false },
                    share: { show: false },
                    saveAs: {
                        group: 'state',
                        order: 3,
                        type: 'primary'
                    }
                }
            }} 
        />
    );
};

6.4 路由跳转事件处理

在嵌入场景中,当用户在Quick BI页面内点击跳转(如从仪表板列表进入编辑页)时,默认会新开页面,脱离宿主环境。为了解决这个问题,SDK提供了事件监听机制,可以在路由跳转发生时阻止默认行为并在当前页重新渲染。

export const SingleSdk: React.FC = () => {
    return (
        <EmbedComponent 
            src={src} 
            feature={{ ... }}
            events={{
                [EmbedEventType["before-page-change-event"]]: async (message: any) => {
                    // 更新EmbedComponent的src属性,重新渲染跳转后的页面
                    setSrc(message.payload.src);
                    // 阻止Quick BI的默认路由跳转逻辑
                    return false;
                }
            }} 
        />
    );
};

7. 最佳实践与常见问题

7.1 版本选择建议

Quick BI的嵌入能力与版本密切相关。高级版仅支持基础嵌入方案,嵌入后无法区分数据权限,适合对数据权限要求不高的场景。专业版支持增强方案(Ticket方案),可实现千人千面的数据权限控制,适合对数据安全有严格要求的场景。专业版还支持智能小Q嵌入和完整的API调用能力。

7.2 安全注意事项

在使用Ticket嵌入方案时,需要注意Ticket的有效期和访问次数限制。默认有效时长为240分钟,建议根据业务场景设置合理的过期时间。访问次数默认为1次,对于需要长期展示的报表可以适当调大。

生成Ticket的账号如果在组织管理中被禁用,将无法生成新的Ticket,但已生成的Ticket仍可继续使用。如果账号被删除,则既无法生成新Ticket,已生成的Ticket也将失效。

对于跨域嵌入的场景,需要注意部分系统浏览器禁止非同源的iframe嵌入页面写入Cookie,可能导致电子表格填报功能异常。

7.3 性能优化建议

在数据源配置层面,建议优先使用内网(VPC)连接,避免公网连接带来的网络延迟和带宽费用。对于大数据量的报表,可以在数据集层面使用抽取加速功能,将数据预先抽取到Quick BI的加速引擎中,提升查询性能。

在嵌入层面,合理设置Ticket的访问次数和有效期,避免生成过多的无效Ticket占用系统资源。

7.4 常见故障排查

数据源连接失败时,首先检查网络连通性:公网连接需确认Quick BI的IP已加入数据库白名单;VPC连接需确认ECS实例的VPC配置正确。其次是认证信息,确认用户名、密码、AccessKey的正确性。

嵌入页面无法访问时,确认报表已发布且已开通嵌入功能。Ticket方案需确认Ticket未过期且访问次数未用完。跨域问题时,检查浏览器的跨域策略和目标系统的iframe配置。

8. 总结

阿里云Quick BI提供了从数据接入、报表开发到系统集成的完整能力体系。在对接使用方面,核心要掌握三个层面的技能:数据源配置层面,需要根据数据库类型和网络环境选择合适的连接方式;报表嵌入层面,需要根据版本和能力需求选择基础方案或Ticket增强方案;API与SDK层面,需要掌握Java、Python等语言的SDK调用方法以及嵌入式JavaScript SDK的使用。全局参数的灵活运用可以帮助实现同一份报表在不同业务场景下的个性化展示,是提升嵌入方案价值的关键能力。通过合理规划版本选择、安全配置和性能优化,企业可以快速将Quick BI的智能分析能力融入自有业务系统,实现数据驱动的业务决策。

常见问题解答

问1:Quick BI基础嵌入方案和Ticket增强方案有什么区别?

答:基础方案仅支持仪表板和电子表格嵌入,绑定报表Owner的权限,每个Ticket最多10万次访问,最大有效时长240分钟,不支持水印、全局参数和区块嵌入。Ticket增强方案仅适用于专业版,支持自定义绑定用户实现千人千面,访问次数不限量,支持水印、全局参数、区块嵌入和任意次数的跳转。

问2:如何通过全局参数实现同一份报表不同用户看不同数据?

答:在报表中配置全局参数并关联到图表或查询控件的过滤条件,然后在嵌入URL中通过参数传递不同的值。配合Ticket方案绑定不同用户的权限,即可实现千人千面的数据展示。

问3:Quick BI支持哪些编程语言的SDK?

答:Quick BI支持Java、Python、C#等多种开发语言的SDK。以Java为例,需要同时安装aliyun-java-sdk-core和aliyun-java-sdk-quickbi-public两个依赖包。

问4:嵌入Quick BI报表时如何解决跨域Cookie问题?

答:部分系统浏览器(如iOS企业微信内置浏览器)禁止非同源的iframe写入Cookie,可能导致电子表格填报提交失败。建议直接通过Quick BI平台使用填报功能,或使用Ticket免登方案规避登录态依赖。

问5:Quick BI API调用需要什么权限?

答:调用API需要满足两个条件:调用者的阿里云账户至少登录过一次Quick BI,且被授予Quick BI组织管理员的权限。非管理员用户可由管理员在开放平台授予API调用权限。

问6:数据源连接失败如何排查?

答:首先检查网络连通性——公网连接需确认Quick BI的IP已加入数据库白名单,VPC连接需确认ECS实例配置正确。其次检查认证信息,确认用户名、密码和AccessKey正确。最后检查数据库服务是否正常运行及防火墙规则是否正确。

相关文章
|
5天前
|
人工智能 定位技术 SEO
我学 GEO 第 15 天:终于知道AI GEO该如何做?
我是暴走的莉莉酱,边旅行边研究AI GEO的数字游民。专注普通人如何提升“AI可见度”——让AI在回答用户问题时准确识别、理解并推荐你。不讲玄学,只做可测、可调、可持续的GEO实践。
421 125
|
8天前
|
机器学习/深度学习 人工智能 调度
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
HappyHorse 1.1 是新一代视频生成大模型,全面升级动态表现力、角色一致性、指令遵循、视觉质感与音画协同能力。支持I2V/T2V/R2V三类生成,适配短剧、电商广告、品牌营销等场景,提供高质、流畅、可控的AI视频生产力。
712 5
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
|
5天前
|
缓存 人工智能 运维
阿里云618百炼大模型Qwen3.7-Max功能、免费试用、订阅计费、配置接入详解
Qwen3.7-MAX是阿里云百炼平台推出的通义千问3.7系列旗舰大语言模型,专为智能体时代复杂任务打造,依托阿里云全域算力与自研技术,在逻辑推理、长文本处理、代码工程、长周期自主执行等领域达到行业顶尖水平。2026年618期间,该模型推出多重免费试用权益、按量计费5折、订阅套餐优惠等专属福利,覆盖个人开发者、团队与企业全场景需求,以下从核心功能、免费试用、订阅计费、配置接入四方面展开详细解析。
414 123
|
4天前
|
人工智能 自然语言处理 API
阿里云Token Plan团队版解析:功能、三档套餐与省钱订阅指南
阿里云百炼平台推出的Token Plan团队版,是面向企业与团队的AI大模型订阅服务,以Credits为统一计量单位,整合文本与图像生成模型,提供团队管理、数据安全、多工具兼容等核心能力,解决团队零散订阅AI服务的管理混乱、成本失控、数据安全等痛点。本文将从核心定位、套餐详情、计费规则、团队管理、工具兼容、便宜订阅技巧等方面,全面解析Token Plan团队版,帮助企业与团队高效、低成本地使用AI服务。
308 108
|
5天前
|
存储 人工智能 数据可视化
别再手动复制 Skill 了:多 Agent 时代的 Skill 管理方案
多 Agent 场景下 Skill 的统一管理与同步。
256 123
|
19天前
|
缓存 测试技术 API
Qwen 3.7 Plus 与 Max 实测:性价比与多模态能力差异解析(2026)
2026 年 6 月 1 日,阿里悄无声息地发布了 Qwen 3.7 Plus,距 Qwen 3.7 Max 上线刚好 11 天。同样的 1M 上下文,同样的 35 小时自治上限。但价格才是头条:Plus 是 0.40/M输入,Max是 2.50/M——便宜约 6 倍——并且还能看图、看视频。Vision Arena 上 Plus 已经排到 #16。所以这周真正值得讨论的问题不是”要不要为视觉能力买单”,而是”Max 凭什么用 6 倍价格换来 2 个百分点的 benchmark 领先”。
|
12天前
|
缓存 人工智能 运维
GLM 5.2自托管全流程实战:硬件选型、vLLM/SGLang部署与成本盈亏测算
2026年智谱发布GLM 5.2超大混合专家模型,区别于以往仅开放API的闭源大模型,该模型权重以MIT开源协议对外发布,企业与开发者可完整下载、本地审计、私有化部署,实现数据不出环境、自定义微调、自主调度推理资源。GLM 5.2拥有753B总参数,原生支持百万级上下文窗口,在代码生成、长文档推理、数学逻辑等多项基准测试中对标国际顶尖商用模型,是首款可完整自托管的前沿代码向大模型。
937 0
|
13天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)