飞书表格连接器¶
飞书表格连接器允许在 Presto 中读取 飞书表格 电子表格。
飞书应用¶
该连接器需要一个飞书应用才能访问飞书表格 API。
在 飞书开放平台(针对全球用户)或 飞书开放平台(针对中国用户)上点击 **创建自定义应用** 按钮来创建飞书应用。创建应用时选择
自定义 应用
。从 **凭据和基本信息** 页面获取并记住app id
和app secret
。在 **权限和作用域** 页面为应用授予
查看、评论和导出表格
权限。并在 **应用发布** 页面发布新的版本,使权限生效。
配置¶
创建 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"}
以下配置属性可用
属性名称 |
描述 |
---|---|
|
如果是在 飞书开放平台 上创建的,则使用 |
|
您的应用 ID,可在 飞书开放平台 或 飞书开放平台 上获取 |
|
包含您的应用密钥的 JSON 文件的路径 |
查询模型¶
在连接器中,飞书电子表格映射到 Presto 架构,电子表格中的每个工作表映射到 Presto 表。
通过执行类似以下的查询来创建电子表格-架构映射
CREATE SCHEMA my_ss WITH (TOKEN = 'shtcnBf5pg4BNSkwV2Ku5xwW9Pf')
将从电子表格 URL 的最后一个路径段中获取 token
属性,使用模式 https://{lark_site_domain}/sheets/{token}?sheet={sheet_id}
。例如,shtcnBf5pg4BNSkwV2Ku5xwW9Pf
是 https://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)