メタデータカタログ
メタデータカタログは、Reveal SDK AI で利用可能なデータソースの中心的な定義です。AI に対して、どのようなデータ接続が存在し、各接続がどのプロバイダーを使用し、オプションでそのデータベース、テーブル、フィールドを記述します。チャットとメタデータサービスの両機能は、データの全体像を 理解するためにカタログに依存しています。
仕組み
メタデータシステムには、3つの異なる責務があります:
| 関心事 | 目的 |
|---|---|
| メタデータカタログ | どのデータソースが存在し、どのような構造になっているか |
| メタデータマネージャー | 生成されたメタデータファイルがディスク上のどこに書き込まれるか |
| メタデータサービス | メタデータ生成がいつ実行されるか(起動時、スケジュール) |
設定が必要なのはカタログのみです。マネージャーとサービスには適切なデフォルト値があり、設定は任意です。
カタログスキーマ
カタログは Datasources 配列を持つ JSON オブジェクトです。各エントリは、プロバイダーとオプションのスキーマ詳細を含むデータソースを定義します。
最小限の例
最低限、各データソースには Id と Provider が必要です:
{
"Datasources": [
{
"Id": "MyDatabase",
"Provider": "SQLServer"
}
]
}
完全なスキーマ
{
"Datasources": [
{
"Id": "MyDatabase",
"Provider": "SQLServer",
"Databases": [
{
"Name": "Northwind",
"DiscoveryMode": "Default",
"Tables": [
{
"Name": "dbo.Orders",
"Description": "Customer purchase orders",
"Fields": [
{
"Name": "OrderDate",
"Alias": "Order Date",
"Description": "Date the order was placed"
}
]
}
]
}
]
}
]
}
スキーマリファレンス
データソース
| プロパティ | 型 | 必須 | 説明 |
|---|---|---|---|
Id | string | はい | データソースの一意の識別子。API リクエストで datasourceId として使用されます。 |
Provider | string | はい | データプロバイダーの種類(以下のプロバイダータイプを参照) |
Databases | array | いいえ | このデータソースで利用可能なデータベーススキーマのリスト |
データベース
| プロパティ | 型 | 必須 | 説明 |
|---|---|---|---|
Name | string | はい | データベースの名前 |
DiscoveryMode | string | いいえ | "Default"(すべてのテーブルを検出)または "Restricted"(リストされたテーブルのみ)。デフォルトは "Default" です。 |
Tables | array | いいえ | このデータベース内のテーブルスキーマのリスト |
テーブル
| プロパティ | 型 | 必須 | 説明 |
|---|---|---|---|
Name | string | はい | 完全修飾テーブル名(例: "dbo.Orders") |
Description | string | いいえ | 人間が読める説明。テーブルの内容を AI が理解するのに役立ちます。 |
Fields | array | いいえ | このテーブル内のフィールドスキーマのリスト |
フィールド
| プロパティ | 型 | 必須 | 説明 |
|---|---|---|---|
Name | string | はい | データベース内の実際のカラム名 |
Alias | string | いいえ | フィールドの表示エイリアス(例: "OrderDate" に対して "Order Date") |
Description | string | いいえ | 人間が読める説明。フィールドが何を表しているかを AI が理解するのに役立ちます。 |
プロバイダータイプ
一般的なプロバイダー値:
| プロバイダー | 説明 |
|---|---|
SQLServer | Microsoft SQL Server |
PostgreSQL | PostgreSQL |
MySQL | MySQL |
Oracle | Oracle(サービス名) |
OracleSID | Oracle(SID) |
SSAS | SQL Server Analysis Services |
SSASHTTP | SQL Server Analysis Services(HTTP) |
Snowflake | Snowflake |
BigQuery | Google BigQuery |
AmazonAthena | Amazon Athena |
AmazonRedshift | Amazon Redshift |
MongoDB | MongoDB |
WebService | Web サービス / REST API / Excel ファイル |