资讯详情

资讯详情

NocoBase 外部数据源接入指南:将另一个 NocoBase 应用连接为外部数据源

NocoBase 外部数据源接入指南将另一个 NocoBase 应用连接为外部数据源【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase外部 NocoBase 数据源是 NocoBase 数据源管理体系中面向NocoBase 应用对 NocoBase 应用的一种连接方式它允许你在当前应用中直接接入另一个 NocoBase 应用的数据表、字段界面、标题与关系字段等元数据。读完本文你将掌握外部 NocoBase 数据源的添加配置、权限边界、功能矩阵记录维护、文件附件、导入导出、模板打印、图表、工作流以及典型排障手段能够独立完成多 NocoBase 应用之间的数据联通。适用场景与核心价值外部 NocoBase 数据源的接入对象是另一个 NocoBase 应用而非普通数据库。相比接入 MySQL、PostgreSQL 等外部数据库数据源它的核心优势在于元数据随源保留远端应用中已配置的数据表结构、字段界面field interface、标题title field和关系字段等元数据会被一并加载到当前应用通常无需重新配置字段界面或手动建立关系字段能力更完整除查看、新增、编辑、删除记录外还支持文件上传与预览、导入导出、图表查询以及部分工作流场景数据归属清晰数据表结构、字段配置和实际数据仍由远端应用维护当前应用只负责消费和编排。从源码结构看外部数据源的能力由数据源管理插件 plugin-data-source-manager 承载每个数据源的配置最终落库在dataSources系统集合中。该集合的核心字段见># Origin 应填写远端 NocoBase 应用的公开访问地址例如 https://example.com不要将 API 地址填写为 Origin即不要填成https://example.com/api。导入导出导入、导出属于通过外部文件读写数据源的操作都会代理到远端应用执行。当前应用负责接收用户操作、转发请求和返回下载结果实际数据读写由远端应用完成。导入记录当前应用接收上传的导入文件并代理到远端应用执行导入导出记录当前应用代理请求远端应用导出记录。同步模式会将远端返回的记录文件流式返回给浏览器下载异步模式会创建本地异步任务在远端应用发起记录导出并同步进度下载结果时再从远端应用流式获取记录文件导出附件代理机制与导出记录一致。同步模式将远端返回的附件包流式返回给浏览器异步模式创建本地异步任务在远端应用发起附件导出并同步进度下载时从远端应用流式获取附件包。模板打印模板打印可以使用外部 NocoBase 数据源中的记录。打印模板和打印动作配置保存在当前应用打印时当前应用会读取远端记录和关联数据并在当前应用生成打印文件。图表查询面板外部 NocoBase 数据源可以用于图表查询面板。当前应用会按本地配置的图表、数据源、数据表和字段权限处理查询参数再请求远端应用返回结果。远端 API key 也需要具备对应数据的访问权限否则查询会失败。SQL 面板SQL 面板属于图表的 SQL 查询模式只用于查询。当前应用负责保存 SQL 配置和发起调用SQL 会代理到远端应用执行。使用 SQL 面板时有两个权限前提本地用户需要具备当前应用中的UI 配置权限远端 API key 也需要在远端应用中具备UI 配置权限。由于 SQL 不会像查询面板那样按数据表和字段权限拆解查询参数请谨慎授予本地用户和对应 API key 的 UI 配置权限。工作流外部 NocoBase 数据源可能涉及当前应用和远端应用两套工作流当前应用响应本地页面、按钮和 API 请求链路中的事件远端应用收到代理请求后按远端应用自己的工作流配置处理。需要注意当前应用不会监听远端数据表内部发生的新增、更新、删除事件远端数据表事件只会在远端应用中触发。触发器触发情况下表说明对应工作流已启用时受外部 NocoBase 数据源影响的触发器在当前应用和远端应用中的触发情况触发器当前应用远端应用说明请求前事件触发仅全局模式触发当前应用全局模式触发局部模式按当前应用按钮绑定触发远端应用收到代理请求后仅全局模式触发请求后事件触发仅全局模式触发当前应用全局模式触发局部模式按当前应用按钮绑定触发远端应用收到代理请求后仅全局模式触发自定义操作事件触发不触发当前应用绑定的「触发工作流」按钮会触发本地流程代理 CRUD 请求不会触发远端自定义操作事件数据表事件不触发触发实际数据在远端变更当前应用不触发本地数据表事件远端应用触发自己的数据表事件日期字段定时触发不触发触发当前应用不会基于远端数据表字段触发远端应用按自己的日期字段配置触发不依赖数据源的触发器在当前应用和远端应用中按各自配置触发。如果需要在当前应用中编排操作外部 NocoBase 数据的流程建议使用请求前事件、请求后事件或自定义操作事件远端应用中已有的工作流由远端应用独立执行。数据源相关节点下表只列出与数据源相关的节点条件、计算、循环、JSON 处理等通用节点不依赖数据源类型按普通工作流使用即可节点是否可用说明查询记录可用查询远端应用中的记录创建记录可用向远端应用创建记录更新记录可用更新远端应用中的记录删除记录可用删除远端应用中的记录SQL 节点不可用工作流 SQL 节点仅支持数据库数据源聚合节点不可用聚合节点仅支持数据库数据源常见问题排查数据表没有出现检查数据源是否已启用以及 API 地址、API key 是否正确。同时确认远端应用中允许该 API key 访问对应数据表。文件上传成功但无法预览如果当前应用或远端应用使用本地文件存储检查Origin是否填写为对应应用的公开访问地址。Origin不应填写为 API 地址。当前应用里有权限但操作失败检查远端应用的 API key 权限。外部 NocoBase 数据源同时受当前应用权限和远端应用权限影响两端权限必须同时满足。远端服务异常后数据表无法使用如果远端应用出现 502、重启或短暂不可用当前应用可能暂时无法读取远端数据表元数据。远端服务恢复后当前应用会在下次访问该数据源的数据表时自动重新加载元数据无需额外手动干预。为什么不能在当前应用配置字段外部 NocoBase 数据源使用远端应用的数据表结构和字段配置。字段调整应在远端应用完成再回到当前应用重新加载数据表元数据变更才会生效。总结外部 NocoBase 数据源让 NocoBase 应用之间可以像连接普通数据库一样共享数据且保留了远端完整的字段界面与关系字段元数据显著降低了跨应用数据接入的配置成本。理解当前应用编排、远端应用执行的代理模型以及当前应用 远端 API key的双重权限边界是稳定使用该数据源的关键。相关实现可进一步查阅 数据源管理插件服务端、数据源模型 与 dataSources 集合定义。【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →