关于 data-api
此技能说明 Domo App Platform 应用的数据访问规范,默认使用 @domoinc/query 读取数据集,并介绍清单映射和本地开发要求。
主要功能
- 01使用 @domoinc/query 查询数据集
- 02仅在特殊情况下使用 SQL
- 03在 manifest.json 中声明数据集
- 04使用 ryuu-proxy 进行本地 API 路由
- 05通过 domo login 完成本地认证
适用场景
- 01实现分组和排序的数据集查询
- 02为应用配置数据集别名
- 03在本地开发时调用 Domo API
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ stahura/ domo-ai-vibe-rules --skill data-api安装后在 Claude Code 中输入/data-api确认已加载。
详细介绍
规则:Domo App Platform 数据访问(工具包优先)
此规则优先使用工具包/查询。在应用中使用 @domoinc/query 读取数据集。
标准查询方式
1) 使用 @domoinc/query 查询数据集
yarn add @domoinc/query
import Query from '@domoinc/query';
const salesByRegion = await new Query()
.select(['region', 'Sales_Amount'])
.groupBy('region', { Sales_Amount: 'sum' })
.orderBy('Sales_Amount', 'descending')
.fetch('sales');
2) SQL 仅作为例外
如果使用 SQL(SqlClient),请记住它不会自动遵循仪表盘中的页面筛选器。
import { SqlClient } from '@domoinc/toolkit';
const sqlClient = new SqlClient();
const result = await sqlClient.get(
'sales',
'SELECT region, SUM(Sales_Amount) AS total FROM sales GROUP BY region'
);
const rows = result.body.rows;
必需的 Manifest 配置
每个数据集仍必须在 manifest.json 中的 datasetsMapping 下声明。
{
"datasetsMapping": [
{ "alias": "sales", "dataSetId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "fields": [] }
]
}
关键陷阱:
fields必须存在(可以为[]),以避免 manifest 解析错误。
本地开发
- 使用
@domoinc/ryuu-proxy进行本地 API 路由。 - 使用
domo login进行身份认证。
检查清单
-
datasetsMapping别名已配置且有效 - 查询使用
Query实现(默认不使用原始/data/v1) - 聚合使用实际的数据集字段名
- 未使用
.aggregate()
评论
支持 Markdown