Git 統合を開始する

この記事では、Microsoft Fabric の Git 統合ツールにおける次の基本タスクについて説明します。

始める前に、Git 統合の概要を読んでおくことをお勧めします。

前提条件

Git を Microsoft Fabric ワークスペースに統合するには、Fabric と Git の両方に対して次の前提条件を設定する必要があります。

Fabric の前提条件

Git 統合機能にアクセスするには、次のいずれかが必要です。

  • Power BI Premium ライセンス。 Power BI Premium ライセンスでは、すべての Power BI アイテムのみがサポートされます。
  • Fabric の容量。 サポートされているすべての Fabric 項目を使用するには、Fabric 容量が必要です。 お持ちでない場合は、無料試用版にサインアップしてください。

さらに、管理ポータルから次の テナント スイッチ を有効にする必要があります。

これらのスイッチは、 組織の設定に応じて、テナント管理者、容量管理者、またはワークスペース管理者が有効にすることができます。

Git の前提条件

現在、Git 統合は Azure DevOps と GitHub でサポートされています。 Fabric ワークスペースと Git 統合を使用するには、Azure DevOps または GitHub で次のものが必要です。

  • Fabric ワークスペースを使用している同じユーザーに登録されているアクティブな Azure アカウント。 無料アカウントを作成します
  • 既存のリポジトリにアクセスします。

ワークスペースをGitリポジトリに接続する

Git リポジトリに接続する

ワークスペースをリポジトリに接続できるのはワークスペース管理者だけですが、接続後は権限を持つすべてのユーザーがワークスペースで作業できるようになります。 管理者でない場合は、管理者に連絡して、接続の支援をしてもらってください。 ワークスペースを Azure または GitHub リポジトリに接続するには、次の手順に従います。

  1. Fabric にサインインし、接続するワークスペースに移動します。

  2. [ワークスペース設定] に移動します

    上部に [ワークスペース設定] アイコンが表示されたワークスペースのスクリーンショット。

  3. [Git 統合] を選択します。

  4. Git プロバイダーを選択します。 現在、Azure DevOps と GitHub がサポートされています。

Azure DevOps を選択した場合は、[接続] を選択すると、Fabric にサインインした Microsoft Entra ユーザーに登録されている Azure Repos アカウントに自動的にサインインします。

Git 統合が選択されたワークスペース設定ウィンドウのスクリーンショット。

ワークスペースに接続する

ワークスペースが既に GitHub に接続されている場合は、 共有ワークスペースに接続する手順に従

  1. ドロップダウン メニューから、接続するブランチに関する以下の詳細情報を指定します。

    Note

    ワークスペースは、一度に 1 つのブランチおよびフォルダーにのみ接続できます。

    • 組織
    • プロジェクト
    • Git リポジトリ
    • ブランチ (このドロップダウン メニューを使用して既存のブランチを選択する、または [+ 新しいブランチ] を選択して新しいブランチを作成します。一度に接続できるブランチは 1 つだけです)。
    • フォルダー (既存のフォルダーの名前を入力するか、名前を入力して新しいフォルダーを作成します。フォルダー名を空白のままにすると、コンテンツはルート フォルダーに作成されます。一度に接続できるフォルダーは 1 つだけです。)

Azure 接続のスクリーンショット。

[接続と同期] を選択します。

初期同期中に、ワークスペースまたは Git ブランチが空の場合、コンテンツは空ではない場所から空の場所にコピーされます。 ワークスペースと Git ブランチの両方にコンテンツがある場合、同期をどちらの方向に行うかを尋ねられます。 この初期同期の詳細については、「接続と同期」を参照してください。

接続すると、ワークスペースにソース管理に関する情報が表示され、ユーザーは接続されたブランチ、ブランチ内の各項目の状態、最後の同期時刻を表示できます。

[ソース管理] アイコンおよびその他の Git 関連情報のスクリーンショット。

ワークスペースと Git ブランチの同期を保つには、ワークスペースで行った変更をすべて Git ブランチにコミットし、誰かが Git ブランチに新しいコミットを作成するたびにワークスペースを更新します

Git に変更をコミットする

Git フォルダーに正常に接続したら、通常どおりワークスペースを編集します。 保存した変更はワークスペースにのみ保存されます。 準備ができたら、変更を Git ブランチにコミットすることも、変更を元に戻して前の状態に戻すこともできます。 コミットの詳細については、こちらをご覧ください。

変更を Git ブランチにコミットするには、次の手順に従います。

  1. ワークスペースに移動します。

  2. [ソース管理] アイコンを選びます。 このアイコンは、コミットされていない変更の数を示します。 コミットする変更が 2 つあることを示す、数字 2 が付いたソース管理アイコンのスクリーンショット。

  3. [ソース管理] パネルの [変更] を選択します。 変更したすべての項目を含むリストが表示され、項目が新規変更済み競合削除済みのいずれであるかを示すアイコンが表示されます。

  4. コミットする項目を選択します。 すべての項目を選択するには、上部のボックスにチェックを入れます。

  5. ボックスにコメントを追加します。 コメントを追加しない場合は、デフォルトのメッセージが自動的に追加されます。

  6. [コミット] を選択します。

    コミットする 2 つの変更が選択されたソース管理ウィンドウのスクリーンショット。

変更がコミットされると、コミットされた項目はリストから削除され、ワークスペースは同期先の新しいコミットを指すようになります。

コミットする変更がないことを示すソース管理ウィンドウのスクリーンショット。

コミットが正常に完了すると、選択した項目の状態が [未コミット] から [同期済み] に変わります。

Git からワークスペースを更新する

接続された Git ブランチに新しい変更をコミットすると、関連するワークスペースに通知が表示されます。 [ソース管理] パネルを使用して、最新の変更、統合、または元に戻す作業をワークスペースに取り込み、ライブ項目を更新します。 更新に関する詳細をご覧ください。

ワークスペースを更新するには、次の手順に従います。

  1. ワークスペースに移動します。
  2. [ソース管理] アイコンを選びます。
  3. [ソース管理] パネルの [更新] を選択します。 前回の更新以降にブランチで変更されたすべての項目のリストが表示されます。
  4. [すべて更新] を選択します。

[更新] タブが開き、[すべて更新] ボタンが選択されている [ソース管理] パネルのスクリーンショット。

更新が正常に完了すると、項目のリストが削除され、ワークスペースは同期先の新しいコミットを指すようになります。

ワークスペースが正常に更新されたことを示すソース管理ウィンドウのスクリーンショット。

更新が正常に完了すると、項目の状態が [同期済み] に変わります。

Git からワークスペースを切断する

ワークスペース管理者のみが Git Repo からワークスペースを切断できます。 管理者ではない場合は、切断について管理者に問い合わせてください。 管理者がリポジトリを切断する場合は、次の手順に従います。

  1. [ワークスペース設定] に移動します
  2. [Git 統合] を選択します
  3. [ワークスペースの切断] を選択します
  4. もう一度 [切断] を選択して確認します。

アクセス許可

ワークスペースで実行できるアクションは、ワークスペースと Git リポジトリの両方で持っている権限によって異なります。 アクセス許可の詳細については、「アクセス許可」を参照してください。

考慮事項と制限事項

一般的な Git 統合の制限事項

  • Fabric の認証方法は、少なくとも Git の認証方法と同程度に強力である必要があります。 たとえば、Git で多要素認証が必要な場合、Fabric でも多要素認証が必要になります。
  • 現時点では、Analysis Services に接続されている Power BI データセットはサポートされていません。
  • テンプレート アプリがインストールされているワークスペースを Git に接続することはできません。
  • ソブリン クラウドはサポートされていません。
  • Azure DevOps アカウントは、Fabric ワークスペースを使用しているのと同じユーザーに登録する必要があります。
  • ワークスペースと Git リポジトリが 2 つの異なる地理的リージョンにある場合、テナント管理者はクロス geo エクスポートを有効にする必要があります。
  • コミットのサイズ制限は 125 MB です。

GitHub Enterprise の制限

一部の GitHub Enterprise 設定はサポートされていません。 次に例を示します。

  • IP 許可リスト
  • プライベート ネットワーク

ワークスペースの制限事項

  • Git Repo への接続 (接続、切断、ブランチの追加など) は、ワークスペース管理者のみが管理できます。
    接続すると、アクセス許可を持つすべてのユーザーがワークスペースで作業できるようになります。
  • ワークスペース フォルダー構造は、Git リポジトリに反映されません。 フォルダー内のワークスペース項目は、ルート ディレクトリにエクスポートされます。

ブランチとフォルダーの制限事項

  • ブランチ名の最大長は 244 文字です。
  • ファイル名の完全パスの最大長は 250 文字です。 これらより長い名前は失敗します。
  • 最大ファイル サイズは 25 MB です。
  • レポートまたはデータセットは、Git 統合を使用してデプロイすると、サービスから .pbix としてダウンロードできなくなります。
  • Git でフォルダーに名前を付けるとき、アイテムの表示名のタイプの前に論理 ID (Guid) がプレフィックスとして追加されます。
    • 256 文字を超える場合
    • 末尾が . またはスペースの場合
    • 次のいずれかの文字が含まれる場合: " / : < > \ * ? |

ブランチ アウトの制限事項

  • ブランチ アウトには、アクセス許可テーブル に記載されているアクセス許可が必要です。
  • このアクションには使用可能な容量が必要です。
  • ワークスペースブランチの名前付けの制限事項 はすべて新しいワークスペースにブランチ アウトするときに適用されます。
  • ブランチ アウトすると、新しいワークスペースが作成され、元のワークスペースの設定はコピーされません。 すべての設定または定義を調整して、新しいワークスペースが組織のポリシーを満たしていることを確認します。
  • 新しいワークスペースでは、Git でサポートされている項目 のみを使用できます。
  • 関連するブランチの一覧には、表示するアクセス許可を持つブランチとワークスペースのみが表示されます。
  • Git 統合 を有効にする必要があります。

同期とコミットの制限事項

  • 同期できる方向は一度に 1 つだけです。 同時にコミットと更新をすることはできません。
  • 秘密度ラベルはサポートされていないため、秘密度ラベルを持つアイテムのエクスポートは無効化される可能性があります。 秘密度ラベルのない秘密度ラベルを持つアイテムをコミットするには、管理者にヘルプを依頼してください
  • 制限付きアイテムに対応しています。 フォルダー内のサポートされていない項目は無視されます。
  • 名前の複製は許可されません。 Power BI で名前の重複が許可されている場合でも、更新、コミット、または元に戻すアクションは失敗します。
  • B2B はサポートされていません。
  • 競合の解決 は部分的に Git で行われます。
  • Git へのコミット プロセス中に、Fabric サービスは、アイテム定義の一部ではないアイテム フォルダー内のファイルを削除します。 アイテム フォルダーにない無関係なファイルは削除されません。
  • 変更をコミットした後、自分が加えなかった予期しない変更が項目に加えられる場合があります。 これらの変更は意味的には重要ではなく、いくつかの理由で発生する可能性があります。 例:
    • 項目定義ファイルを手動で変更します。 これらの変更は有効ですが、エディターを使用して行った場合とは異なる可能性があります。 たとえば、Git でセマンティック モデル列の名前を変更し、この変更をワークスペースにインポートすると、次回セマンティック モデルに変更をコミットするときに、bim ファイルが変更済みとして登録され、変更された列が columns 配列の後ろにプッシュされます。 これは、bim ファイルを生成する AS エンジンが名前変更された列を配列の最後にプッシュするためです。 この変更は項目の動作には影響しません。
    • CRLF 改行を使用するファイルをコミットする。 このサービスでは LF (ライン フィード) 改行を使用しています。 CRLF 改行を含む項目ファイルが Git リポジトリにある場合、サービスからコミットすると、これらのファイルは LF に変更されます。 たとえば、デスクトップでレポートを開いた場合は、.pbip プロジェクトを保存し、CRLF を使用して Git にアップロードします。
  • 拡張更新 API を使ってセマンティック モデルを更新すると、更新のたびに Git diff が行われます。