Microsoft Fabric で Git 統合パイプラインとデプロイ パイプラインが GraphQL 用 API と連携する方法について説明します。 この記事は、リポジトリへの接続を設定し、GraphQL 用 API を管理し、さまざまな環境にデプロイする方法を理解するのに役立ちます。
注
GraphQL ソース管理とデプロイの API は現在 プレビュー段階です。
[前提条件]
- Fabric には GraphQL 用の API が必要です。 詳細については、「Fabric で GraphQL 用 API を作成し、データを追加する」を参照してください。
概要
Fabric には、CI/CD (継続的インテグレーションと継続的デプロイ) と開発ライフサイクル管理のための強力なツールが用意されています。 Git 統合 (CI) と デプロイ パイプライン (CD) の 2 つの主要コンポーネントを使用します。 ワークスペースは、Git 同期とデプロイの両方のステージの中心的なコンポーネントとして機能します。
Git 統合 (CI): ワークスペース項目 (コード、構成、API など) を バージョン管理リポジトリと同期し、Git を使用してバージョン管理と変更の追跡を有効にします。
デプロイ パイプライン (CD): リンクされたワークスペースを使用してステージ (開発、テスト、運用など) を作成できます。 各ステージでサポートされている項目は、後続のステージに自動的にレプリケートされ、リリース パイプラインでのワークスペース トリガーデプロイの変更が行われます。 パイプラインを構成して、変更がテストされ、環境間で効率的にデプロイされるようにすることができます。
Fabric では、一般的なシナリオに合わせたさまざまな CI/CD ワークフローがサポートされています。 詳細については、Fabric の CI/CD ワークフロー オプションを参照してください。
注
デプロイ中にメタデータのみがコピーされます。データはコピーされません。
ワークスペースの項目は、関連付けられている Git リポジトリにコードとしてのインフラストラクチャ (IaC) として格納されます。 リポジトリのコード変更により、パイプラインでのデプロイがトリガーされる可能性があります。 このメソッドを使用すると、テストと運用リリースの目的で、ステージ間でコード変更を自動的にレプリケートできます。
データ ソースの認証方法
このセクションでは、GraphQL 用 API にデータ ソースを接続する認証方法について説明し、GraphQL 用 API とその開発パイプライン内の接続されたデータ ソース間の自動バインドへの影響について説明します。 自動バインドの詳細については、 デプロイ パイプライン プロセスを参照してください。
GraphQL 用 API にデータ ソースを接続するには、次の 2 つのオプションがあります。
シングル サインオン認証 (SSO) を使用して Fabric データ ソースに接続する
保存された資格情報を使用して Fabric または外部データ ソースに接続する
1 つ目のオプションである Single Sign-On (SSO) を使用すると、Fabric 内のデータ ソースへの接続が可能になります。 この場合、元のワークスペース (開発ステージなど) でシングル サインオン メソッドを使用してデータ ソースを GraphQL に接続すると、データ ソースと GraphQL 項目がパイプライン内のターゲット ワークスペース (テスト ステージなど) にデプロイされ、ターゲット ワークスペース内の GraphQL はターゲット ワークスペース内のデプロイされたローカル データ ソースに自動的に接続されます (下の図を参照)。
2 番目のオプションである [保存された資格情報] を使用すると、Fabric の外部の外部データ ソースと Fabric 内のデータ ソースへの接続が可能になります。 ただし、保存された資格情報アプローチでは 自動バインド はサポートされていません。 つまり、元のワークスペース (開発ステージ) で保存された資格情報を使用してデータ ソースを GraphQL に接続すると、データ ソースはパイプラインのターゲット ワークスペース (テスト ステージ) にデプロイされます。 ただし、ターゲット ワークスペースの GraphQL 項目は、ターゲット ワークスペース内のローカル データ ソースに自動バインドするのではなく、保存された資格情報を使用して元のワークスペース (開発ステージ) のデータ ソースに接続されたままになります。 (下の図を参照)
さらに、 保存された資格情報 メソッドを使用してデータ ソースに接続する場合、開発者は GraphQL 項目を正常にデプロイするために、保存された資格情報情報にアクセスできる必要があります。
注
元のワークスペース (開発ステージ) の GraphQL 用 API が別のワークスペースにあるデータ ソースに接続されている場合、ターゲット ワークスペース (テスト ステージ) の GraphQL 用にデプロイされた API は、データ ソースを GraphQL 用 API に接続するために使用される認証方法に関係なく、異なるワークスペースにあるデータ ソースに接続されたままになります。 (下の図を参照)
Gitの統合を目的としたGraphQL API
GraphQL 用の Fabric API では、ソース管理用の Git 統合が提供されます。 Git 統合を使用すると、GraphQL 用 API のバックアップとバージョン管理、必要に応じて前のステージへの戻り、 Git ブランチを使用した共同作業または単独での作業、および Fabric 内での GraphQL の API ライフサイクル全体の管理を行うことができます。
接続を設定する:
ワークスペースの設定から、変更をコミットして同期するためのリポジトリへの接続を簡単に設定できます。 接続を設定するには、「 Git 統合の概要」を参照してください。 接続すると、GraphQL 用 API を含む項目が ソースコントロール パネルに表示されます。
GraphQL インスタンスの API を Git リポジトリに正常にコミットすると、リポジトリに GraphQL フォルダー構造が表示されます。 プル要求の作成など、今後の操作を実行できるようになりました。
Git での GraphQL 表現:
次の図は、Git リポジトリ内の各 API for GraphQL 項目のファイル構造の例です。
GraphQL の API 項目を Git リポジトリにコミットすると、GraphQL の API 定義が格納されます。 この方法では、Fabric ワークスペースに同期するときに正確な回復がサポートされます。
デプロイ パイプラインの GraphQL 用 API
デプロイ パイプラインを使用して GraphQL デプロイ用の API を完了するには、次の手順に従います。
新しいデプロイ パイプラインを作成するか、既存のデプロイ パイプラインを開きます。 詳細については、「 デプロイ パイプラインの概要」を参照してください。
デプロイの目標に応じて、異なるステージにワークスペースを割り当てます。
次の例に示すように、さまざまなステージ間で GraphQL 用 API を含む項目を選択、 表示、および比較します。 前のステージと現在のステージの間で変更された項目数を示す強調表示された領域。
- デプロイする必要がある項目を選択します。 [ デプロイ] を選択して、選択した項目 (GraphQL 用 API とその接続データ ソース) を開発、テスト、運用の各ステージにデプロイします。
次のメッセージが表示され、デプロイしようとしている項目が確認されます。 [ デプロイ] を選択して、デプロイ プロセスを確認して続行します。
現在の制限
Fabric CI/CD では、子項目の 自動バインド はサポートされていません。 つまり、GraphQL 用 API が元のワークスペース (開発ステージなど) のデータ ソースの子として SQL Analytics エンドポイントに接続する場合、系列はターゲット ワークスペース (テスト ステージなど) に転送されません。 その結果、ターゲット ワークスペースにデプロイされた GraphQL 用 API (テスト ステージなど) は、元のワークスペース (開発ステージなど) の SQL Analytics エンドポイントに接続されたままになります。
サービス プリンシパルを使用して、SQL Analytics エンドポイント経由でアクセスされるデータ ソースを使用する GraphQL 用 API をデプロイすることは、現在サポートされていません。 これには、Lakehouse やミラー化されたデータベースなどのデータ ソースが必要です。
データ ソース接続に保存された資格情報アプローチを使用する場合、自動バインドはサポートされません。 詳細については、前述の 「データ ソース認証方法」セクションを 参照してください。