飞书表格连接器

飞书表格连接器允许在 Presto 中读取 飞书表格 电子表格。

飞书应用

该连接器需要一个飞书应用才能访问飞书表格 API。

  1. 飞书开放平台(针对全球用户)或 飞书开放平台(针对中国用户)上点击 **创建自定义应用** 按钮来创建飞书应用。创建应用时选择 自定义 应用。从 **凭据和基本信息** 页面获取并记住 app idapp secret

  2. 在 **权限和作用域** 页面为应用授予 查看、评论和导出表格 权限。并在 **应用发布** 页面发布新的版本,使权限生效。

配置

创建 etc/catalog/larksheets.properties 将飞书表格连接器作为 larksheets 目录挂载,并根据需要替换属性

connector.name=lark-sheets
app-domain=FEISHU
app-id=example_app_id
app-secret-file=/path/to/app-secret.json

创建 app-secret.json 作为以下示例

{"app-secret": "abcdefghijklmnopqrstuvwxyzabcdef"}

以下配置属性可用

属性名称

描述

app-domain

如果是在 飞书开放平台 上创建的,则使用 LARK,否则使用 FEISHU

app-id

您的应用 ID,可在 飞书开放平台飞书开放平台 上获取

app-secret-file

包含您的应用密钥的 JSON 文件的路径

查询模型

在连接器中,飞书电子表格映射到 Presto 架构,电子表格中的每个工作表映射到 Presto 表。

通过执行类似以下的查询来创建电子表格-架构映射

CREATE SCHEMA my_ss WITH (TOKEN = 'shtcnBf5pg4BNSkwV2Ku5xwW9Pf')

将从电子表格 URL 的最后一个路径段中获取 token 属性,使用模式 https://{lark_site_domain}/sheets/{token}?sheet={sheet_id}。例如,shtcnBf5pg4BNSkwV2Ku5xwW9Pfhttps://test-ch80md45anra.feishu.cn/sheets/shtcnBf5pg4BNSkwV2Ku5xwW9Pf?sheet=MT1p4I 中电子表格的令牌

之后,电子表格的所有工作表(选项卡)会自动映射到架构中的表。

SHOW TABLES FROM my_ss

对于每个表,其名称取自工作表标题;其列从标题行(工作表的第 1 行)推断。可以通过查询列出工作表元数据,例如

SELECT * FROM my_ss."$sheets"

在查询语句中,可以使用以下方式指定表

-- by sheet title
SELECT * FROM my_ss."number_text"

-- by sheet index
SELECT * FROM my_ss."$0"

-- by sheet id
SELECT * FROM my_ss."@MT1p4I"

至于列推断,标题行中具有空白值的列将被忽略。具有重复列名的工作表无法查询。

安全模型

只有启用了 **链接共享** 的电子表格才能查询。

默认情况下,只有架构的创建者才能查看和操作架构。要使架构对其他人可见,请将其创建为

CREATE SCHEMA my_ss WITH (TOKEN = 'shtcnBf5pg4BNSkwV2Ku5xwW9Pf', PUBLIC = true)