次の方法で共有


Fabric で GraphQL 用 API を作成し、データを追加する

API を作成し、API を使用して選択したデータを公開するデータ ソースをリンクして、GraphQL 用の Fabric API の使用を開始します。 Fabric がデータに基づいて GraphQL スキーマを自動的に構築すると、アプリケーションは数分で接続できます。

前提条件

GraphQL 用 API の作成

GraphQL 用 API を作成するには:

  1. 任意のワークスペースから [新しい項目] を選択します。 開いたパネルの [ データの開発] で、 GraphQL の API を選択します。

    [新規] オプションを選択する場所を示すワークスペース ツール バーのスクリーンショット。

  2. アイテムの 名前 を入力し、[ 作成] を選択します。

    [New API for GraphQL]\(GraphQL 用の新しい API\) ダイアログ ボックスのスクリーンショット。名前を入力して [作成] を選択する場所が示されています。

これで、Fabric のデータにアクセスするための API が完全に機能するようになりました。

データ ソースに接続してスキーマを構築する

この時点で、API は準備ができていますが、データは公開されていません。 GraphQL 用 API は、厳密に型指定されたシステムで、型とフィールドの観点から整理されたスキーマで定義されます。 Fabric は、GraphQL クライアントに公開するために選択したデータに基づいて、必要な GraphQL スキーマを自動的に生成します。

  1. 新しい API で、[データ ソースの選択] を選択して、公開する データ ソースを選択します

    [データ ソースの選択] オプションのスクリーンショット。

  2. 次に、API の接続オプションを選択します。

    [接続の選択] オプションのスクリーンショット。

    ここでは、2 つの異なるオプションに基づいて、API クライアントが API にアクセスして GraphQL リクエストを実行する方法を定義できます。

    • シングル サインオン (SSO): クライアント資格情報を使用してデータ ソースに接続します。つまり、認証された API ユーザーは、基になるデータ ソースにアクセスできる必要があります。 たとえば、Lakehouse データを API クライアントに公開する場合、認証されたユーザーは API と Lakehouse の両方にアクセスできる必要があります。 具体的には、GraphQL API (直接アクセス許可を追加する場合は [クエリと変更の実行] オプション) に対する実行アクセス許可と、選択したデータ ソースで必要に応じて読み取りまたは書き込みアクセス許可が必要です。 または、API とデータ ソース項目の両方が配置されている 共同作成者ロール を持つワークスペース メンバーとしてユーザーを追加することもできます。このロールにより、1 つの場所から両方のアイテムに必要なアクセス権が付与されます。 詳細については、「 ワークスペースへのアクセス権をユーザーに付与する」を参照してください。
    • 保存された資格情報: 保存された資格情報を使用してデータ ソースに接続します。つまり、認証された API ユーザーはデータ ソースに直接アクセスする必要はありません。 保存された資格情報は、API とデータ ソース内の基になるテーブル間でデータにアクセスするために共有されます。 たとえば、Lakehouse データを API クライアントに公開する場合、認証されたユーザーは、Lakehouse ではなく API (直接アクセス許可を追加するときにクエリと変更を実行 するオプション) に直接アクセスするだけで済みます。 保存された資格情報は、API をデータ ソースに接続するために使用され、認証されたすべての API ユーザーによって共有されます。 このオプションは、GraphQL 経由で Azure SQL データベースなどの Azure データ ソースを公開する場合に必要です。 [OK] を選択すると、次の手順でデータ ソースを選択した後、そのデータ ソースに対して保存されている資格情報がまだ存在しない場合は、新しい保存された資格情報を作成するように求められます。

    これらのオプションを選択すると、その後に API に追加されるすべてのデータ ソースに適用されます。 同じ API にシングル サインオンと保存された資格情報を混在させることはできません。 ユーザー プリンシパル名 (UPN) またはサービス プリンシパル名 (SPN) を使用して API に接続し、セキュリティ要件に応じて SSO または保存された資格情報を利用できます。

    GraphQL 用 API では、クライアント アプリケーションで認証に Microsoft Entra ID を使用する必要があります。 Fabric に対して API 呼び出しを実行するには、クライアント アプリケーションを登録して、適切に構成する必要があります。 Microsoft Entra ID に登録されているアプリには、Power BI サービスの GraphQLApi.Execute.All API アクセス許可が必要です。 Connect Applications では、ユーザー プリンシパルとサービス プリンシパルの両方の手順とサンプル コードを含むエンド ツー エンドのチュートリアルを見つけることができます。

  3. OneLake データ ハブが表示されます。接続するデータ ソースを選択します。 次の例では、ミラー化データベースにリンクされている AdventureWorks SQL 分析エンドポイントを選択します。 [ フィルター] を 選択すると、特定の種類の Fabric データ ソースのみが表示されるか、特定のキーワードで検索されます。 準備ができたら、[ 接続] を選択します。

    ワークスペースで使用可能なデータ ソース オプションを示す OneLake データ ハブのスクリーンショット。

  4. [ データの取得 ] 画面が表示され、GraphQL スキーマで公開するオブジェクトを選択できます。

    [データの選択] リストを示す [データの取得] 画面のスクリーンショット。

  5. API で公開する個々のテーブル、ビュー、またはストアド プロシージャの横にあるチェック ボックスをオンにします。 フォルダー内のすべてのオブジェクトを選択するには、データ ソース名が一番上にあるチェックボックスを選択します。

    フォルダーが選択された [データの選択] リストのスクリーンショット。このリストでは、そのフォルダー内のすべてのアイテムが自動的に選択されます。

  6. [読み込み] を選択して GraphQL スキーマ生成プロセスを開始します。

  7. スキーマが生成され、GraphQL クエリ (読み取り、一覧表示) または変更 (作成、更新、削除) のプロトタイプの作成を開始して、データを操作できます。

    スキーマ エクスプローラー画面のスクリーンショット。

これで、GraphQL 用 API が接続と要求を受け入れる準備ができました。 API エディターを使用して GraphQL クエリをテストおよびプロトタイプ化し、スキーマ エクスプローラーを使用して、API で公開されているデータ型とフィールドを確認できます。

アクセス許可の概要

次の表は、GraphQL API にアクセスするクライアントに対してサポートされているさまざまな組み合わせと、最低限必要なアクセス許可をまとめたものです。

API 呼び出し元 データ ソース接続 必要な GraphQL API のアクセス許可 必要なデータ ソースのアクセス許可 Entra アプリ スコープ
ユーザー プリンシパル (UPN) シングル サインオン (SSO) API レベルでクエリと変更を実行する データ ソースで UPN に付与された適切な読み取り/書き込みアクセス許可 GraphQLApi.Execute.All
サービス プリンシパル (SPN) シングル サインオン (SSO) API レベルでクエリと変更を実行する データ ソースで SPN に付与された適切な読み取り/書き込みアクセス許可 該当なし
ユーザー プリンシパル (UPN) 保存された資格情報 API レベルでクエリと変更を実行する データ ソースで保存された資格情報 (接続) に付与された適切な読み取り/書き込みアクセス許可 GraphQLApi.Execute.All
サービス プリンシパル (SPN) 保存された資格情報 API レベルでクエリと変更を実行する データ ソースで SPN に付与された適切な読み取り/書き込みアクセス許可 該当なし