:JSON API带参数接入,多租户数据源配置指南)
系列导读本系列带你打通 JSON API 带参数数据源的全链路——从数据接入、数据准备到仪表板/报表的参数联动。第 1 篇接入篇配置带参数的 JSON API 数据源第 2 篇准备篇直连模型选型参数为什么不生效第 3 篇联动篇仪表板筛选器报表查询面板参数联动全闭环为什么需要带参数的 JSON API 直连如果你正在做一款 SaaS 产品或者对接的是 IOT 物联网平台、数据中台大概率会遇到这个局面业务方说想在 BI 大屏上看各租户的运营数据开发说数据库不能直接暴露数据都通过 API 提供。传统 BI 的思路是连数据库 → 写 SQL→ 做报表到了 API 场景这条路就断了。Wyn 的 JSON 数据源直连就是为此准备的——直接对接业务系统返回的 JSON API无需本地存储每次查询实时获取。但光能连还不够。多租户要按租户 ID 过滤、IOT 要按设备号过滤、业务系统要按时间范围过滤——你得让接口接受参数并且参数能在 BI 运行时动态传入。本篇带你完成三件事理清 JSON 数据源直连的四种接入方式和参数来源用基址 端点方式配置一个带参数的 JSON 数据源定义基址参数和端点参数理解它们的作用域差异示例使用公开测试 APIjsonplaceholder.typicode.com你可以照着复现。一、为什么需要带参数的 JSON API 直连先说清楚 JSON 数据源直连的本质。Wyn 的 JSON 数据源直连包括本地、Web、嵌入型、文件系统四种方式通过 API 接入的数据无需在本地存储而是每次根据查询语法获取最新的数据用于分析、展示。这句话有两个关键点不落地数据不存到本地不占存储也不需要维护同步任务实时每次查询都调接口拿到的是最新数据这对 SaaS 多租户、IOT、数据中台这类场景特别合适因为这些场景的数据本来就是通过 API 提供的BI 直连 API 等于无缝衔接。但直连只是基础真正让 BI 能跟上业务节奏的是参数。Wyn 在配置数据接入时支持参数过滤和 JSON 函数预处理参数可以通过四种方式传入举个例子对于 SaaS 多租户用户不同的租户需要访问和查询不同的数据可以把租户 ID 配置在数据源最终在仪表板运行时通过 URL 动态传入获取当前租户的数据确保每个租户的数据隔离和数据安全。参数是整条链路的开关定义在数据源这一层后面会被数据模型引用、被仪表板和报表使用。本篇先把数据源这层配好。二、JSON 数据源的四种接入方式Wyn 的 JSON 数据源支持四种接入方式先知道有这几种本篇实操用的是最常见的一种本篇示例用 Web 方式接入jsonplaceholder.typicode.com这是一个公开的免费测试 API返回 JSON 数据读者可以照着操作复现完整流程。三、实操基址 端点配置带参数数据源这一节是本篇的核心。Wyn 在配置 Web API 的连接方式上做了一个增强设计叫基准 端点专门解决一个数据源多张表、基准地址相同的场景。3.1 为什么要用基准 端点假设你要接入三个接口https://jsonplaceholder.typicode.com/posts文章https://jsonplaceholder.typicode.com/users用户https://jsonplaceholder.typicode.com/albums相册如果每个接口都单独配一个数据源重复且难管理。Wyn 的做法是把公共前缀https://jsonplaceholder.typicode.com抽成基准类似公共地址每个具体的接口路径posts/users/albums作为端点挂在基址下。这样一个数据源就能连接多个基址相同的 JSON URL一个端点对应一张数据表方便统一管理。并且支持添加多个基址把相关的数据都放到一个数据源里。3.2 创建 JSON 数据源新建数据源选择 JSON 类型源类型选择网络型填入基准地址3.3 在基准地址中定义参数这一步是带参数的关键。在基址地址下定义参数这些参数是公共参数作用范围较广可以用到基址和所有引用该基址的端点中。以多租户场景为例在基址定义一个id参数这个id参数就相当于一个公共过滤条件所有引用该基址的端点都能用它。多租户部署时把租户 ID 配在这里就能过滤出每个租户的数据。3.4 添加端点地址引用基准地址基准地址配好后添加端点。每个端点 一张数据表注意端点地址里用id引用了基址定义的参数。这样请求Users端点时实际发出的请求是参数被动态拼进了 URL接口根据参数返回对应数据。3.5 实时验证并预览每个端点数据配置完成后可以在数据源界面实时预览每个端点的数据确认参数生效。预览 Posts 端点会看到文章列表预览 Users 会看到用户信息参数过滤的结果一目了然。3.6 保存数据源保存数据源后并预览数据源四、避坑指南把这几件事记牢能省掉不少排错时间。基准地址参数 vs 端点地址参数作用域不一样基准地址参数是公共参数所有引用该基准地址的端点都能用端点地址参数是表级参数只在当前端点生效。多租户这种全局过滤条件放基址某个端点独有的过滤条件放端点。别搞反。多值参数的分隔符参数设为多值时分隔符默认是逗号但有些接口要求分号或其他分隔符。如果预览数据不对先检查分隔符是否和后端接口的约定匹配。认证方式按需选择JSON 数据源支持 None、Basic、OAuth2 认证方式。公网测试 API 一般选 None。五、本篇小结本篇完成了全链路的第一步把带参数的 JSON API 接进 Wyn。回顾一下你拿到了什么一个 JSON 数据源基址是jsonplaceholder.typicode.com三个端点posts、users、albums各对应一张数据表一个基址参数id支持多值被 users 和 albums 端点引用数据源配好了参数也定义好了但参数现在只是存在还没真正用起来。下一步要进入数据准备层——把数据源变成可分析的数据模型并让参数在模型层正确传递。这就引出本系列的第二篇直连模型与直连数据集怎么选参数怎么用。扩展链接嵌入式分析体验