SuperAPI AI 工具集

domo-sql-client

数据与分析

查看项目

更新于 10-16 09:31

技能介绍

用途:在 Domo 数据集上执行原始 SQL 查询,适用于使用 AIClient.text_to_sql 生成的 SQL,或任何需要针对数据集别名运行 SQL 的场景。官方建议使用 @domoinc/toolkit 的 SqlClient,而不是 domo.post('/sql/v1/')。

主要能力:SqlClient 是 Domo SQL API 的工具包封装。get(alias, query) 对数据集执行 SQL,alias 为 manifest.json 中的数据集别名,query 为 SQL 字符串,返回 Promise<Response<SqlResponse>>。parsePageFilters(datasets, produceClauses?) 将 Domo 页面过滤器转换为 SQL 谓词,可返回对象或 WHERE/HAVING 子句字符串。

使用方式:通过 import { SqlClient } from '@domoinc/toolkit' 导入并 new SqlClient() 实例化。常见模式是先用 AIClient.text_to_sql 从自然语言生成 SQL,再用 sqlClient.get 执行,最后把列式响应转换为行对象。SQL 的 FROM 别名必须与 manifest 别名一致。

响应格式:SQL API 返回列式格式而非行对象数组,包含 columns、rows、metadata、numRows、numColumns、datasource、fromcache 等字段。需将 columns 与 rows 按索引 zip 成对象供 UI 渲染。响应可能位于 .body、.data 或直接位于 result,需防御性解析。

限制:SQL 端点会忽略页面过滤器,需要时用 parsePageFilters() 手动注入过滤条件。响应始终为列式,不是扁平对象数组。资料未提供更多平台、收费或价格信息。