GraphQL スキーマ ビューとスキーマ エクスプローラー用の Fabric API

GraphQL 用の Fabric API は、接続するデータ ソースに基づいて API の構造を定義するスキーマを自動的に生成します。 GraphQL スキーマ定義言語 (SDL) で記述されたスキーマでは、クライアントがデータの操作に使用できる、使用可能なすべての型、フィールド、クエリ、および変更について説明します。

スキーマ ビューには、GraphQL スキーマ全体の読み取り専用のテキスト ベースのビューが用意されていますが、左側のウィンドウのスキーマ エクスプローラーでは、API を介して公開されているオブジェクトを移動、検査、変更できます。 これらのツールを組み合わせることで、API の構造を理解し、クライアントがアクセスできるデータを制御できます。

スキーマ ビューを使用するユーザー

スキーマ ビューとエクスプローラーは、次の場合に重要です。

  • データエンジニアは、GraphQL を介して公開する Fabric Lakehouse オブジェクトとウェアハウスオブジェクトを構成します。
  • クエリを記述する前に使用可能な Fabric データ型、フィールド、リレーションシップを検出するアプリケーション開発者
  • Fabric ワークスペースの共同作成者は、 ワークスペースのデータ アクセス構造を理解して管理します
  • カスタム分析アプリケーションの構築時に Fabric データリレーションシップを確認する BI 開発者

スキーマ ビューを使用して API の構造を調べ、スキーマ エクスプローラーを使用して、公開されるデータ オブジェクトを変更します。

スキーマにアクセスして探索する

スキーマ ビューには、クエリ エディターからアクセスすることも、GraphQL API 項目から直接アクセスすることもできます。 スキーマ ビューを開くには、左下隅にある [スキーマ ] を選択します。 スキーマ ビューには、生成されたすべての型、フィールド、クエリ、および変更を含む、完全な GraphQL SDL の読み取り専用のテキスト ベースのバージョンが表示されます。

次の図は、左側にスキーマ エクスプローラー ウィンドウがある スキーマ ビューを示しています。

左側のウィンドウにあるスキーマ エクスプローラーを含む API スキーマ ビュー画面のスクリーンショット。

左側のウィンドウの スキーマ エクスプローラー を使用すると、API 内のすべてのオブジェクトを移動して検査できます。 エクスプローラーはスキーマ ビューとクエリ エディターの両方で使用できるため、クエリの記述中に API 構造を簡単に調べることができます。

スキーマ エクスプローラーでノードを展開して、次の内容を表示します。

  • : データ ソースのテーブルとビューから生成された GraphQL 型
  • クエリ: データを取得するための自動的に生成された読み取り操作
  • 変更: データの作成、更新、削除のための自動的に生成された書き込み操作 (ウェアハウスのみ)

種類

型はデータの構造を表し、生成元のデータ ソースの名前の下に表示されます。 次の図は、AdventureWorks SQL 分析エンドポイントの SalesOrderDetail テーブルから生成された SalesOrderDetail 型を示しています。

SalesOrderDetail という名前のデータ ソースの例で使用できる型の展開された一覧を示す[スキーマ エクスプローラー] ペインのスクリーンショット。

Queries

API は、公開するオブジェクトからデータを取得するためのクエリを自動的に生成します。 クエリ ノードを展開して、使用可能なすべての読み取り操作を表示します。

[スキーマ エクスプローラー] ウィンドウのスクリーンショット。自動的に生成されたクエリの展開された一覧が表示されています。

ミューテーション

変更は、データを作成、更新、および削除するための書き込み操作です。 ミューテーション ノードを展開して、使用可能なすべての書き込み操作を表示します。

[スキーマ エクスプローラー] ウィンドウのスクリーンショット。自動的に生成された変更の展開された一覧が表示されています。

Note

変更は、Fabric Data Warehouse データ ソースに対してのみ生成されます。 SQL分析エンドポイント(レイクハウスやミラードデータベース)は読み取り専用で、クエリのみをサポートします。 スキーマエクスプローラーで突然変異が見当たらないなら、倉庫に接続されているか確認してください。

スキーマ エクスプローラーを使用してオブジェクトを変更する

API によって初期スキーマが生成されたら、スキーマ エクスプローラーを使用して、API を通じて公開される内容を調整できます。 スキーマ エクスプローラーには、基になるデータ ソースを変更せずに API の構造を制御できる管理オプションが用意されています。 これらのツールは、クライアントが必要とするデータのみを公開する、整理されたクリーンな API を維持するために不可欠です。

アクセス変更オプション

オブジェクトを変更するには、スキーマ エクスプローラーで任意の型の横にある省略記号 (...) を選択します。 次の例は、 SalesOrderDetail 型の変更メニューを示しています。

省略記号が選択されたスキーマ エクスプローラーのスクリーンショット。使用可能なメニュー オプションが表示されています。

使用可能な変更オプション

スキーマの更新 - GraphQL スキーマをデータ ソースの最新の構造と同期します。 これは、新しいテーブル、ビュー、または列をデータ ソースに追加し、API を介して公開する場合に使用します。 この操作では、既存の構成を維持しながら、新しいオブジェクトを検出して追加します。

名前の変更 - GraphQL API でのオブジェクトの表示方法を変更します。 これは、より直感的な API 名前付け規則を作成したり、クライアントから実装の詳細を非表示にしたりする場合に便利です。 たとえば、 tbl_SalesOrderDetail の名前を単に SalesOrderDetailに変更できます。 名前の変更は API スキーマにのみ影響し、基になるデータ ソース オブジェクトは変更されません。

スキーマから削除 - GraphQL API からオブジェクトを削除し、クライアントが使用できないようにします。 これを使用して、機密データを非表示にしたり、非推奨のオブジェクトを削除したり、API サーフェスを簡略化したりできます。 データはデータ ソースに残ります。API の公開のみが削除されます。

リレーションシップの管理 - オブジェクトが相互に接続する方法を定義できるリレーションシップ管理インターフェイスを開きます。 リレーションシップにより、入れ子になったクエリとグラフ トラバーサルが可能になり、クライアントは 1 つの要求で関連データを取得できます。 詳細については、「GraphQL 用 Fabric API でのリレーションシップの管理」を参照してください。

プロパティ - データ ソースに表示される元の名前、GraphQL の種類名、所有者、場所 (ワークスペースとデータ ソース名) など、オブジェクトに関する詳細なメタデータを表示します。 これを使用して、データ ソースと GraphQL API の間でオブジェクトがどのようにマップされるかを確認します。

クエリと変更を有効または無効にする

クエリと変更の有効化または無効化機能により、管理者と開発者は API のアクセスと使用状況をきめ細かく制御できます。 GraphQL スキーマ内の特定のクエリと変更を選択的にアクティブ化または非アクティブ化できます。 これにより、コードを変更したり、変更をデプロイしたりすることなく、API 機能を動的に管理できます。

この機能は、次のようなシナリオで使用します。

  • API のバージョン管理: クライアントを新しいバージョンに移行するときに非推奨の操作を無効にする
  • メンテナンス期間: データ メンテナンス中に書き込み操作 (変更) を一時的に無効にする
  • セキュリティとコンプライアンス: 機密性の高い操作へのアクセスをスキーマから削除せずに制限する
  • 段階的なロールアウト: 新しいクエリまたは変更をテスト用に有効にしてから、それらを幅広く使用できるようにする

スキーマ エクスプローラーのクエリと変更には、他に 2 つのオプションがあります。

  • 無効: 要求でクエリまたは変更が実行されないようにします。 実行が試行されると、エラーが返されます。 クエリまたは変更を無効にすると、スキーマの再読み込みが行われ、クエリまたは変更がスキーマ エクスプローラーで淡色表示されます。

スキーマ エクスプローラーに表示されている [クエリまたは変更の無効化] オプションのスクリーンショット。

  • 有効: 以前に無効にしたクエリまたは変更を再度有効にすることができます。 クエリまたは変更は、[ 有効] オプションを選択したときに発生するスキーマの再読み込み操作の直後に使用できます。

スキーマ エクスプローラーに表示されている [変更のクエリを有効にする] オプションのスクリーンショット。

Note

ストアド プロシージャから自動生成されたクエリと変更の動作は、テーブルまたはビューから生成されたものとは異なります。 削除することはできますが、無効にすることはできません。 削除後は、[ データの取得 ] または [ スキーマの更新 ] オプションを使用して読み取ることができます。 詳細については、「 ストアド プロシージャ」を参照してください。