IngaDB 0.1 · 製品ドキュメント
IngaDB/ドキュメントAPI v1
ドキュメントを参照
クライアントSDK

契約から生成された、型付きクライアント。

IngaDBは、サーバー検証に使うものと同じAPI定義から生成されたTypeScriptとPythonクライアントを提供します。 どちらもグラフ作成から分析までの完全なワークフローを扱います。

TYPE SCRIPT@cognitech/ingadb

Fetchベースの生成関数と、エクスポートされたリクエスト/レスポンス型。

PYTHONinga-db-api-client

HTTPX上に構築された型付きモデルを持つ同期・非同期クライアント。

TypeScript

一つのクライアントを作成し、生成済み操作へ渡します。このローカル例では開発用ヘッダーを使用します。

client.tsTypeScript
import { createClient } from "@hey-api/client-fetch";
import { createGraph, computeAnalysisView } from "@cognitech/ingadb";

const client = createClient({
  baseUrl: "http://localhost:9876",
  headers: { "X-Org-Id": process.env.INGADB_ORG_ID! },
});

const { data: graph } = await createGraph({
  client,
  body: { name: "packaging-line" },
});

const { data: view } = await computeAnalysisView({
  client,
  path: { graphId: graph!.id },
  body: {},
});

Python

Pythonクライアントは、すべての操作についてブロッキング版とasyncio版を公開します。

client.pyPython
from inga_db_api_client import AuthenticatedClient
from inga_db_api_client.api.graphs import create_graph
from inga_db_api_client.models import CreateGraphBody

client = AuthenticatedClient(
    base_url="https://api.your-domain.com",
    token=os.environ["INGADB_TOKEN"],
)

graph = create_graph.sync(
    client=client,
    body=CreateGraphBody(name="packaging-line"),
)

print(graph.id)

クライアントの原則

  • クライアントを再利用する。 接続プールと共通ヘッダーを、一つの設定済みインスタンスに保持します。
  • 型を契約として扱う。 API定義が変わったらクライアントを再生成し、生成ファイルを手動編集しません。
  • エラーを明示的に確認する。 TypeScript操作はデータまたはエラーを返し、Pythonは詳細レスポンス版を提供します。
  • 資格情報は一つにする。 ローカル開発以外ではBearer認証を使用します。
クライアントの配布

現在のSDKパッケージと統合については、[email protected] へお問い合わせください。