よくある GraphQL 用 Fabric API の質問に対する回答を見つけます。
GraphQL とは何か?
GraphQL は、アプリが必要なデータを正確に要求できるようにする API のクエリ言語です。 主な利点は次のとおりです。
- 強力な型システム - 使用可能なデータを明確に記述する
- 正確なデータ フェッチ - 特定の要求を許可することで、過剰なフェッチを減らします
- 下位互換性 - 既存のコードを壊さずに API の更新を容易にする
- 豊富なツール - 幅広い開発者ツールセットの使用が可能
これは、アプリケーションがサーバーやデータベースと通信するためのより効率的な方法です。
GraphQL 用の Microsoft Fabric APIとは何か?
GraphQL 用 Microsoft Fabric API は、GraphQL API を数秒で作成できるマネージド サービスです。
サポートされているデータ ソース:
- Microsoft Fabric Data Warehouses
- Microsoft Fabric Lakehouses
- Microsoft Fabric ミラー化されたデータベース
- Microsoft Fabric SQL データベース
- Azure SQL データベース群
サポートされているこれらのデータ ソースからデータを照会および変更するための統合 API レイヤが提供されます。
GraphQL 用 Fabric API でサポートされている GraphQL 操作とは
GraphQL クエリ (読み取り) と変更 (書き込み) のみが現在サポートされています。 SQL Analytics エンドポイント経由で公開されるデータ ソースは読み取り専用であるため、クエリのみをサポートします。 Data Warehouse の場合は、変更を自動的に生成するために主キーを定義する必要があります。
GraphQL 用 Fabric API でリゾルバーを表示および編集するにはどうすればよいですか?
リゾルバーは、API のフィールドを解決し、データ ソースに存在するデータに対して操作を実行するビジネス ロジックを提供する GraphQL コンポーネントです。
自動生成: 新しいデータ ソースをアタッチするか、既存のデータ ソースから公開する新しいオブジェクトを選択するたびに、Fabric によってリゾルバーが自動的に生成されます。
カスタマイズ: 現時点では、リゾルバーを直接カスタマイズすることはできません。 GraphQL 用 API でカスタマイズされたビジネス ロジックの場合は、データ ソースに ストアド プロシージャ を作成し、GraphQL API で公開できます。
GraphQL クライアント アプリケーションの API では、クエリや変更を実行するためにデータ ソースへのアクセスが必要ですか?
Microsoft Entra ID 認証: GraphQL 用 API では、アプリケーションで認証に Microsoft Entra ID を使用する必要があります。 クライアント アプリケーションを登録し、Fabric に対して API 呼び出しを実行するように構成する必要があります。
必要なアクセス許可:
- Microsoft Entra に登録されているアプリには、Power BI サービス GraphQLApi.Execute.All アクセス許可が必要です。 詳細については、「Azure で Microsoft Entra アプリを作成する」を参照してください。
シングル サインオン (SSO) の構成: SSO を使用するように API が構成されている場合、認証されたユーザーまたはサービス プリンシパルは次の両方に アクセスする必要があります 。
- GraphQL API (問い合わせと変更の実行 パーミッション)
- データ ソース (必要に応じて読み取りまたは書き込みアクセス)
ワークスペース レベルのアクセス オプション: または、API とデータ ソース項目の両方が配置されている 共同作成者ロール を持つワークスペース メンバーとして、ユーザーまたはサービス プリンシパルを割り当てます。 これにより、1 つの場所から両方の項目に必要なアクセス権が付与されます。 詳しくは、ワークスペースへのアクセス権のユーザーへの付与に関する記事をご覧ください。
保存された資格情報の構成: 保存された資格情報を使用するように API が構成されている場合、認証されたユーザーまたはサービス プリンシパルは API へのアクセスのみを必要とします (API に直接アクセス許可を追加する場合は、[ クエリと変更の実行 ] オプションを選択します)。
例: ユーザー プリンシパルと サービス プリンシパル の両方のサンプル コードを含むエンド ツー エンドの例については、 Connect Applications を参照してください。
GraphQL 用 API のサポート チケットを開くにはどうすればいいですか?
GraphQL 用 Fabric API に関連する問題について Microsoft サポートの支援が必要な場合は、Fabric サポート サイトにアクセスし、[データ エンジニア] オプションを選択してください。
GraphQL 用 API は Private Link をサポートしていますか?
現時点では、GraphQL 用 API では Private Link はサポートされていません。
最初に発行した後、後続の要求に対して適切に実行した場合、要求のパフォーマンスが低下するのはなぜですか?
この "コールド スタート" 動作には、主に次の 2 つの理由があります。
データ ソースのウォームアップ:
- データ ソースをコールド状態からウォームアップする必要がある場合、最初の要求に時間がかかる場合があります
- データ ソースがコールドでない場合でも、データ ソースに必要なデータがメモリに読み込まれていない場合、GraphQL が初めてクエリを発行する場合、データの取得は効率的ではない可能性があります
API エンドポイントの初期化:
- システムがスキーマと構成を読み込む必要があるため、GraphQL エンドポイント用 API への最初の要求に時間がかかる場合があります
- システムが既にウォームアップされ、要求を処理する準備ができているため、後続の要求の方が高速です
詳細については、 パフォーマンスのベスト プラクティスを参照してください。
GraphQL 用 API に関するフィードバックや提案を提供するにはどうすればよいですか?
フィードバックとご提案をお待ちしております。 Fabric Ideasを通じてフィードバックを提供できます。 Microsoft のチームは、このプラットフォームを通じて送信されたフィードバックと提案を積極的に監視します。 また、特定のクエリや懸念事項については、Microsoft Fabric サポート 経由で Microsoft にお問い合わせください。