从外部数据源新建对象【实验】|飞书低代码平台 - 飞书官网
产品功能

从外部数据源新建对象【实验】|飞书低代码平台

飞书

2024-12-23

创建凭证​
创建外部对象​
在其他模块使用外部对象​
运行态查看外部对象数据​
外部数据表发生变更​
对象能力​
字段引用能力​
其他能力​
​
💡
此功能为实验性质,未来可能发生改变,不建议在线上使用。更多详情,请参考《「实验功能」使用说明》。​
如何启用实验功能:​
  • 自 2024 年 8 月 5 日起,新建租户创建的应用,实验功能是默认关闭的,当前暂无线上自助开通渠道。​
  • 如需启用一个或多个实验功能,请在飞书低代码平台「帮助与支持」中联系技术支持人员。​
​
​
简介说明​
飞书低代码平台支持通过「OData / MySQL 凭证」引用外部系统的数据,外部数据不会存储在飞书低代码平台的系统中,而是运行态通过 API 实时访问​
使用方法​
创建凭证​
使用外部对象,首先需要有一个对应的凭证,可以在「集成凭证 >> 第三方集成」中点击新建按钮,添加 OData / MySQL 凭证。​
更多凭证管理相关的内容可查看:第三方集成使用指南​
​
​
创建外部对象​
  1. 在「数据 >> 数据资产 >> 对象」中,点击「新建」按钮,选择「从外部数据源新建」,设置该对象的名称、API 名称,并选择上一步创建好的 OData / MySQL 凭证,和一个该凭证下的数据表​
​
250px|700px|reset
​
​
​
250px|700px|reset
​
​
​
  1. 点击「下一步」后,可以看到该外部数据表下所有字段名称和字段类型,默认全部引用,对于引用的字段需要设置在「飞书低代码平台」系统中的名称和字段类型。设置好后,点击「提交」按钮,进入对象编辑器,可再次修改调整,并在右侧属性区域完善各个字段的详细设置​
​
250px|700px|reset
​
​
​
250px|700px|reset
​
​
​
​
在其他模块使用外部对象​
外部对象在其他各个模块的使用,都和自定义对象一样,除了在以下模块中略有差异​
  • 图表:支持使用 MySQL 外部对象,暂不支持使用 OData 外部对象​
  • 自定义查询:暂不支持使用 OData 和 MySQL 外部对象​
  • 数据集:暂不支持使用各种类型的外部对象​
运行态查看外部对象数据​
在应用运行状态下使用和自定义对象一样​
​
250px|700px|reset
​
​
​
外部数据表发生变更​
新增字段​
开发者进入对象编辑页面,新增加的字段会展示在下方的「未引用的数据源字段」列表中,可通过点击右侧的「+」添加到对象中​
​
删除 / 修改字段类型​
系统会给该应用的管理员和开发者发送飞书消息,通知其前往修改,开发者在对象编辑器中也可以看到「失效字段」的标识,需要删除该字段,应用才可正常运行​
​
​
250px|700px|reset
​
​
​
支持的能力说明​
对象能力​
​
​
具体功能​
内部对象​
OData 外部对象​
MySQL 外部对象​
数据建模​
全部数据类型均支持​
部分数据类型支持​
部分数据类型支持​
数据查询​
单表查询​
✅​
✅​
✅​
​
单数据源下钻查询​
✅​
❌​
❌​
​
多数据源混合下钻查询​
✅​
❌​
❌​
​
单数据源过滤​
✅​
✅​
✅​
​
普通下钻过滤​
✅​
❌​
❌​
​
多数据源混合下钻过滤​
❌​
❌​
❌​
​
数据搜索​
✅​
✅ 业务自行实现,支持对所有字段搜索​
✅ 左值匹配过滤​
​
数据下钻搜索​
❌​
❌​
❌​
​
多数据源混合搜索​
❌​
❌​
❌​
​
数据聚集(group by)​
✅​
❌​
❌​
写入​
数据新增​
✅​
✅​
✅​
​
数据删除​
✅​
✅​
✅​
​
数据更新​
✅​
✅​
✅​
​
数据变更通知​
✅​
✅​
✅​
​
单数据源事务一致性​
✅​
❌​
✅​
​
多数据源事务一致性​
❌​
❌​
❌​
功能​
流程中读取对象数据​
✅​
✅​
✅​
​
流程中写入对象数据​
✅​
✅​
✅​
​
公式 / 筛选中配置支持内部对象下钻内部对象​
✅​
-​
-​
​
公式 / 筛选中配置支持内部对象下钻外部对象​
❌​
​
​
​
公式 / 筛选中配置支持外部对象下钻内部对象​
❌​
​
​
​
公式 / 筛选中配置支持外部对象下钻外部对象​
-​
❌​
❌​
​
页面编辑页对象原位编辑​
✅​
✅​
✅​
​
低代码中读取对象数据​
✅​
✅​
✅​
​
低代码中写入对象数据​
✅​
✅​
✅​
​
OpenAPI 读取对象数据​
✅​
✅​
✅​
​
OpenAPI 写入对象数据​
✅​
✅​
✅​
​
数据集支持集成对象​
✅​
❌​
❌​
​
​
字段引用能力​
OData 外部字段引用​
​
OData 字段类型​
「飞书低代码平台」数据类型​
OData 实现逻辑​
Edm.String、Edm.Guid​
文本​
按照数据类型返回数据即可。​
Edm.String、Edm.Byte、Edm.Decimal、Edm.Double、Edm.Int16、Edm.Int32、Edm.Int64、Edm.SByte​
浮点数​
按照数据类型返回数据即可,数据类型如果是 Edm.String,则其内容一定是可以被转换成 float64 的数据,否则运行态会解析失败报错。​
Edm.String、Edm.Byte、Edm.Int16、Edm.Int32、Edm.Int64、Edm.SByte​
整数​
按照数据类型返回数据即可,数据类型如果是 Edm.String,则其内容一定是可以被转换成 int64 的数据,否则运行态会解析失败报错。​
Edm.Decimal、Edm.Double、Edm.String​
定点数​
按照数据类型返回数据即可。​
Edm.String、Edm.Date​
日期​
外部字段引用为 apaas 的「日期」时,需要设置外部字段存储值格式,在和外部系统读或者写交互时,将依据该格式转化数据。​
Edm.String、Edm.DateTimeOffset​
日期时间​
外部字段引用为 apaas 的「日期时间」时,需要设置外部字段存储值格式,在和外部系统读或者写交互时,将依据该格式转化数据。​
Edm.String​
邮箱​
按照数据类型返回数据即可。​
Edm.String、Edm.Boolean​
布尔​
外部字段引用为 apaas 的「布尔」时,需要设置外部字段存储值格式,在和外部系统读或者写交互时,将依据该格式转化数据。​
Edm.String​
文件​
数据内容为 aPaaS 文件的 file ID list,通过,分割。​
Edm.String、Edm.Int64​
关联对象(单值)​
数据内容为关联对象下有唯一性的字段的值,如果数据类型是 Edm.Int64 则要求数据内容一定需要是 Int。​
Edm.String​
关联对象(多值)​
数据内容为关联对象下有唯一性的字段的值列表,通过,分割。​
​
​
MySQL 外部字段引用​
由于存储类型大致相同的字段类型较多,以下内容用集合或单独数据类型表示。​
​
MySQL 字段类型​
「飞书低代码平台」数据类型​
MySQL 实现逻辑​
MySQLC.String、MySQLC.LongDouble、MySQL.bigint​
MySQL.bigint unsigned​
文本​
按照数据类型返回数据即可。​
MySQLC.String、MySQLC.Double、MySQLC.Numeric​
浮点数​
按照数据类型返回数据即可,数据类型如果是 MySQLC.String,则其内容一定是可以被转换成 float64 的数据。​
MySQLC.Numeric​
整数​
整数精度范围为 [-2^63, 2^63-1] 若数据超出该精度,则在读取数据时将报错。​
MySQLC.String​
MySQL.bigint unsigned​
定点数​
​
MySQLC.String、MySQL.date​
日期​
外部字段引用为 apaas 的「日期」时,需要设置外部字段存储值格式,在和外部系统读或者写交互时,将依据该格式转化数据。​
MySQLC.String、MySQL.datetime​
日期时间​
外部字段引用为 apaas 的「日期时间」时,需要设置外部字段存储值格式,在和外部系统读或者写交互时,将依据该格式转化数据。​
MySQLC.String​
邮箱​
按照数据类型返回数据即可。​
MySQLC.String、MySQLC.Numeric、MySQLC.Boolean​
布尔​
外部字段引用为 apaas 的「布尔」时,需要设置外部字段存储值格式,在和外部系统读或者写交互时,将依据该格式转化数据。​
MySQLC.String​
文件​
数据内容为 aPaaS 文件的 file ID list,通过,分割。​
MySQLC.String、MySQL.bigint​
关联对象(单值)​
数据内容为关联对象下有唯一性的字段的值,如果数据类型是 Edm.Int64 则要求数据内容一定需要是 Int。​
MySQLC.String​
关联对象(多值)​
数据内容为关联对象下有唯一性的字段的值列表,通过,分割。​
​
​
MySQL 字段类型集合​
​
MySQL 字段集合​
对应的 MySQL 字段类型​
MySQLC.Numeric​
MySQL.tinyint​
MySQL.smallint​
MySQL.mediumint​
MySQL.int​
MySQL.integer​
MySQL.bigint​
MySQLC.Double​
MySQL.float​
MySQL.double​
MySQLC.Boolean​
MySQL.bit​
MySQLC.LongDouble​
MySQL.decimal​
MySQL.numeric​
MySQLC.String​
MySQL.char​
MySQL.varchar​
MySQL.text​
MySQL.tinytext​
MySQL.mediumtext​
MySQL.longtext​
MySQLC.Byte​
MySQL.binary​
MySQL.varbinary​
MySQL.tinyblob​
MySQL.blob​
MySQL.mediumblob​
MySQL.longblob​
MySQLC.Enum​
MySQL.enum​
MySQLC.Json​
MySQL.json​
MySQLC.Date​
MySQL.time​
MySQL.date​
MySQL.datetime​
MySQL.timestam​
MySQLC.Spatial​
MySQL.linestring​
MySQL.multilinestring​
MySQL.point​
MySQL.multipoint​
​
​
其他能力​
外部对象写能力​
目前 OData 和 MySQL 外部对象支持了写能力,在 aPaaS 中通过流程或者低代码给外部对象写数据时,会实时写入外部系统中,写的时候有如下规则需注意:​
  • 新增记录时,系统会自动生成外部数据表主键的值。​
  • 更新记录时,如果记录中更新了主键字段值,则自动忽略。​
数据源 demo 地址​
  • 目前可以通过 OData 官网的示例数据,体验外部对象的功能(因为是官方数据源,所以只能读,不能写),数据源信息:​
  • 账号密码:无需账号密码​
  • MySQL 和 ClickHouse 暂时还没有官方的示例数据可以体验​
​
​
预约飞书企业效能顾问 深度诊断企业痛点,定制专属 AI 办公方案

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题

字节跳动旗下 AI 工作平台

联系我们立即试用