mcpField
D
data-api

data-api

github.com/stahuraデータ・データベース24193 回インストール26 週間前に更新
リポジトリ

data-api について

Domo App Platform アプリのデータアクセス規約を説明するスキルです。データセットの読み取りには @domoinc/query を標準とし、マニフェスト設定とローカル開発要件も扱います。

主な機能

  1. 01@domoinc/query によるデータセット照会
  2. 02SQL の例外的な利用
  3. 03manifest.json でのデータセット宣言
  4. 04ローカル API ルーティングに ryuu-proxy を使用
  5. 05domo 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.json の datasetsMapping に宣言する必要があります。

{
  "datasetsMapping": [
    { "alias": "sales", "dataSetId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "fields": [] }
  ]
}

重要な注意点:

  • マニフェストの解析エラーを避けるため、fields が存在している必要があります([] でも構いません)。

ローカル開発

  • ローカルでの API ルーティングには @domoinc/ryuu-proxy を使用してください。
  • domo login で認証してください。

チェックリスト

  • datasetsMapping のエイリアスが設定され、有効である
  • クエリが Query を使用して実装されている(デフォルトで生の /data/v1 を使用していない)
  • 集計で実際のデータセットのフィールド名を使用している
  • .aggregate() を使用していない

コメント