契約から生成された、型付きクライアント。
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] へお問い合わせください。