Microsoft Fabric での論理 ID の競合を解決する

Microsoft Fabric で Git に接続されたワークスペースを使用する場合、ワークスペース内の項目と Git ブランチ内の項目の名前と種類は同じですが、論理 ID が異なる場合があります。 この不一致により、メタデータの上書き警告がトリガーされる可能性があり、保持する論理 ID を決定する必要があります。

この記事では、論理 ID とは何か、競合が発生する理由、およびそれらを安全に解決する方法について説明します。

論理 ID とは

Fabric ワークスペースが Git ブランチに接続されている場合、ワークスペース内のすべての項目は、そのブランチで定義されている論理 ID に関連付けられます。 これらの ID は、Microsoft Fabric ワークスペース全体の各項目の "ID" を表します。 論理 ID は、ワークスペース内の項目を Git ブランチ内の対応する項目に接続する、自動的に生成されるクロスワークスペース識別子です。 同じ logicalId を持つ項目は同じであると見なされます。

論理 ID と Fabric がソース管理の項目を表す方法の詳細については、 Git 統合のソース コード形式のドキュメントを参照してください。

論理 ID 競合とは何ですか?

論理 ID の競合は、名前と項目の種類が同じで、論理 ID が異なる 2 つの項目 (ワークスペース内と Git 接続ブランチ内の 1 つ) を Fabric が検出すると発生します。 論理 ID は Fabric 項目とその Git 表現の間の一意のバインド キーであるため、不一致は、どのバージョンを項目の "true" ID として扱うべきかを Fabric が認識していないことを意味します。

競合が検出されると、次のような [メタデータの上書きの確認] ダイアログが表示されます。

メタデータの上書きの確認のスクリーンショット。

この競合は、ワークスペース項目の論理 ID がソース管理からのアイテムのバージョンとは異なっていることを示します。

操作を確認すると、ソース管理の論理 ID が、ワークスペース内の一致する項目の論理 ID を置き換えます。

競合につながる一般的なシナリオ

論理 ID の不一致は、次の場合に発生する可能性があります。

シナリオ 説明
ワークスペースを空でない Git フォルダーに接続する Git リポジトリに、名前と種類によってワークスペース項目と一致する項目が含まれているが、異なる論理 ID を保持している場合は、ワークスペース メタデータの上書きを確認するメッセージが表示されます。
異なるブランチに切り替える ブランチを変更すると、ワークスペースのバージョンと同じ論理 ID を共有しない項目定義が取り込まれる場合があります。
接続されたブランチとは異なるブランチに基づいて新しいブランチにブランチアウトする 特定の Git ブランチに既にマップされているワークスペースに、関連のない項目 ID の 2 番目の系列を導入します。
既存のアイテムを含むワークスペースから分岐する ワークスペースから項目が既に含まれている既存のワークスペースに分岐する場合、Microsoft Fabric はターゲット ワークスペースのメタデータを、ソース ワークスペースブランチメタデータから作成された新しい接続ブランチに合わせます。

論理 ID の競合の解決

競合が発生した場合は、ワークスペース メタデータを上書きするか、保持するかを決定する必要があります。

オプション 1: ワークスペースのメタデータを上書きする (Git バージョンを取得する)

上書きするか確認した場合は:

  • ソース管理の論理 ID によって、ワークスペース内の既存の論理 ID が置き換えられます。
  • ワークスペースメタデータが Git バージョンと一致するようになりました。

ワークスペースを Git ブランチに完全に合わせる場合は、このオプションを使用します。

既存の自動化への影響

ワークスペースのメタデータを上書きすることを選択すると、ワークスペース内の既存の論理 ID を Git からのバージョンに置き換えます。 これにより、項目を一貫して識別するために現在の論理 ID に依存する既存の自動化が中断される可能性があります。 これらのオートメーションは特定の項目 ID を参照するため、これらの論理 ID を変更すると、それらのワークフローの観点からワークスペース項目が効果的に "新しい" ようになります。 その結果、ダウンストリーム ジョブは、新しい ID を認識するように自動化ロジックが更新されるまで、項目の検索、更新のスキップ、または重複の生成に失敗する可能性があります。

オプション 2: 既存のワークスペース メタデータを保持する (ワークスペースのバージョンを保持する)

ワークスペースの論理 ID を保持する場合:

  • 上書きを確認しないでください。
  • ワークスペースに現在存在する論理 ID で Git リポジトリを更新します。

これを行うには、次の操作を行います。

  • 別のブランチをチェックアウトまたはコミットし、ワークスペース メタデータを Git にプルする、または
  • Gitで項目名を変更すると、Fabricはそれらを競合する更新ではなく、追加/削除操作として扱います。