mcpField
D
data-api

data-api

github.com/stahura数据与数据库24193 次安装26 周前更新
代码仓库

关于 data-api

此技能说明 Domo App Platform 应用的数据访问规范,默认使用 @domoinc/query 读取数据集,并介绍清单映射和本地开发要求。

主要功能

  1. 01使用 @domoinc/query 查询数据集
  2. 02仅在特殊情况下使用 SQL
  3. 03在 manifest.json 中声明数据集
  4. 04使用 ryuu-proxy 进行本地 API 路由
  5. 05通过 domo login 完成本地认证

适用场景

  1. 01实现分组和排序的数据集查询
  2. 02为应用配置数据集别名
  3. 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