如何启用实验功能:
- 自 2024 年 8 月 5 日起,新建租户创建的应用,实验功能是默认关闭的,当前暂无线上自助开通渠道。
- 如需启用一个或多个实验功能,请在飞书低代码平台「帮助与支持」中联系技术支持人员。
简介说明
飞书低代码平台支持通过「OData / MySQL 凭证」引用外部系统的数据,外部数据不会存储在飞书低代码平台的系统中,而是运行态通过 API 实时访问
使用方法
创建凭证
使用外部对象,首先需要有一个对应的凭证,可以在「集成凭证 >> 第三方集成」中点击新建按钮,添加 OData / MySQL 凭证。
创建外部对象
- 在「数据 >> 数据资产 >> 对象」中,点击「新建」按钮,选择「从外部数据源新建」,设置该对象的名称、API 名称,并选择上一步创建好的 OData / MySQL 凭证,和一个该凭证下的数据表
250px|700px|reset
250px|700px|reset
- 点击「下一步」后,可以看到该外部数据表下所有字段名称和字段类型,默认全部引用,对于引用的字段需要设置在「飞书低代码平台」系统中的名称和字段类型。设置好后,点击「提交」按钮,进入对象编辑器,可再次修改调整,并在右侧属性区域完善各个字段的详细设置
250px|700px|reset
250px|700px|reset
在其他模块使用外部对象
外部对象在其他各个模块的使用,都和自定义对象一样,除了在以下模块中略有差异
- 图表:支持使用 MySQL 外部对象,暂不支持使用 OData 外部对象
- 自定义查询:暂不支持使用 OData 和 MySQL 外部对象
- 数据集:暂不支持使用各种类型的外部对象
运行态查看外部对象数据
在应用运行状态下使用和自定义对象一样
250px|700px|reset
外部数据表发生变更
新增字段
开发者进入对象编辑页面,新增加的字段会展示在下方的「未引用的数据源字段」列表中,可通过点击右侧的「+」添加到对象中
删除 / 修改字段类型
系统会给该应用的管理员和开发者发送飞书消息,通知其前往修改,开发者在对象编辑器中也可以看到「失效字段」的标识,需要删除该字段,应用才可正常运行
250px|700px|reset
支持的能力说明
对象能力
字段引用能力
OData 外部字段引用
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 暂时还没有官方的示例数据可以体验

















