Lakehouse は、Microsoft Fabric のライフサイクル管理と統合されています。 バージョン管理のために lakehouse を Git リポジトリに接続し、デプロイ パイプラインを使用して開発、テスト、運用の各ワークスペースにデプロイできます。 メタデータのみが追跡されます。git 操作とデプロイ操作によって、テーブルまたはファイル内のデータが上書きされることはありません。
何が追跡されていますか?
次の表は、Git に接続されたワークスペースとデプロイ パイプラインで追跡される lakehouse 項目とサブ項目をまとめたものです。
| 項目/サブ項目 | Git | デプロイメントパイプライン | リリースの状態 | 注記 |
|---|---|---|---|---|
| Lakehouse メタデータ(表示名、説明、ロジカル GUID) | ✅ 追跡 | ✅ 追跡 | GA | ソース管理のクロスワークスペース識別子 |
| OneLakeのショートカットメタデータ | ✅ 追跡 | ✅ 追跡 | GA | 格納先 shortcuts.metadata.json |
| 外部ショートカット: ADLS Gen2、S3、Dataverse、Google Cloud Storage、SharePoint、Azure Blob Storage、OneDrive | ✅ 追跡 | ✅ 複数のステージ間で同期されます | GA | 定義のみ。 変数ライブラリで再マップしない限り、すべてのステージで同じターゲット |
| OneLake 内部のショートカット | ✅ 追跡 | ✅ ステージ間で自動的に再マップされる | GA | 定義のみ。 ワークスペース内の有効なターゲットが必要です |
| OneLake セキュリティ データ アクセス ロール (DAR) メタデータ | ✅ 追跡 | ✅ 追跡 | Preview | 格納先 data-access-roles.json |
| デルタテーブルと非デルタテーブル | ❌ 追跡されない | ❌ 上書きされない | サポートされていません | 操作中に常に保持されるデータ |
| Spark の表示 | ❌ 追跡されない | ❌ 上書きされない | サポートされていません | 操作中に常に保持されるデータ |
| ファイルセクション内のフォルダー | ❌ 追跡されない | ❌ 上書きされない | サポートされていません | 操作中に常に保持されるデータ |
追跡するオブジェクトの種類を選択する
Git およびデプロイ パイプラインで追跡するオブジェクトの種類を選択できます。 これにより、チームには次の 2 つの利点があります。
- 柔軟性 - ワークフローに基づいて追跡するオブジェクトの種類を選択します。 一部のチームは、外部ツールまたはスクリプトを使用して特定のオブジェクトの種類を調整します。 一部のオブジェクトの種類は、すべてのデプロイ ステージに関連しない場合があります。
- 段階的な導入 — 新しいオブジェクトの種類を段階的に追跡するために導入できるため、オプトインする前に既存のワークフローと自動化を適応させることができます。
Lakehouse の設定を開き、追跡するオブジェクトの種類を有効または無効にします。
各オブジェクトの種類のチェック ボックスをオンまたはオフにして、追跡するかどうかを制御します。
- Select — オブジェクトの種類を選択して git に同期すると、現在のメタデータがシリアル化され、git に格納されます。 今後の変更は、デプロイ パイプラインのステージ間で追跡および同期されます。
- Clear — オブジェクトの種類をクリアすると、そのメタデータが git から削除されます。 今後の変更は追跡または同期されなくなります。
新規および既存のレイクハウスのデフォルト設定:
- 新しいレイクハウスでは、すべての一般提供 (GA) オブジェクトの種類が既定で選択されています。 プレビュー オブジェクトの種類は、既定では選択されていません。
- 既存のレイクハウスは、変更しない限り、現在の追跡状態を維持します。
追跡構成は、git の lakehouse フォルダーの下の alm.settings.json に格納されます。 Git リポジトリでこのファイルを直接編集し、ワークスペースに変更を適用できます。
Git の統合
ワークスペースを git に接続すると、lakehouse メタデータが JSON 表現にシリアル化されます。 次のメタデータが追跡されます。
- [表示名]
- 説明
- 論理的GUID (ソース管理用に自動的に生成されたワークスペース間識別子)
- SQL 分析エンドポイントのメタデータ
- OneLake ショートカット メタデータ ( OneLake ショートカットを参照)
データフロー、パイプライン、Spark ジョブ定義、ノートブック、セマンティック モデルなど、複数のワークスペース オブジェクトがレイクハウスを参照できます。 これらの参照は、Git 操作全体で維持されます。 git で lakehouse の名前を変更すると、対応する SQL 分析エンドポイントの名前も変更されます。
重要
[ファイル] セクションのテーブル (デルタとデルタ以外) とフォルダーは、git では追跡またはバージョン管理されません。 これらの項目のデータは、Git 操作中に常に保持されます。
デプロイメントパイプライン
Lakehouse は、開発、テスト、運用の各ワークスペースにわたる環境のセグメント化を可能にする Microsoft Fabric デプロイ パイプラインでサポートされています。
デプロイ パイプラインの機能:
- 既定の動作 - 依存関係マッピングが構成されていない場合、同じ名前の新しい空の lakehouse がターゲット ワークスペースに作成されます。 ノートブックと Spark ジョブ定義は、新しい lakehouse を参照するように再マップされます。
- カスタム マッピング — レイクハウスの依存関係が別のレイクハウス (上流のレイクハウスなど) にマップされている場合、同じ名前の新しい空のレイクハウスが作成されますが、ノートブックと Spark ジョブ定義の参照は、代わりにマップされたレイクハウスを指します。
- SQL 分析エンドポイントとセマンティック モデルは、Lakehouse デプロイの一部としてプロビジョニングされます。
- Lakehouse の名前の変更は、ワークスペース間で同期されます。
OneLake のショートカット
[テーブル] セクションと [ファイル] セクションの OneLake ショートカット定義は、git の lakehouse フォルダーの下の shortcuts.metadata.json に格納されます。 ショートカットの追加、削除、更新は自動的に追跡されます。 Fabric ポータルで変更を加えたり、 shortcuts.metadata.json ファイルを直接編集したりできます。
Git 統合のショートカット
内部ターゲットを含むショートカット (OneLake ショートカット) は、Git 同期中に自動的に更新されます。ショートカットを有効にするには、ワークスペースにターゲットが存在する必要があります。 [lakehouse tables]\(レイクハウス テーブル\) セクションのショートカットに対してターゲットが無効な場合、参照が解決されるまでショートカットは [未確認 ] セクションに移動されます。
重要
shortcuts.metadata.jsonでショートカット プロパティを直接編集するときは注意が必要です。 プロパティ (特に GUID) の変更が正しくないと、ワークスペースに更新プログラムが適用されたときにショートカットが無効になる可能性があります。 Git 更新は、ワークスペース内のショートカットの状態をオーバーライドします。すべてのショートカットは、git からの受信状態に基づいて作成、更新、または削除されます。
デプロイ パイプラインの簡便化
ショートカット定義は、デプロイ パイプラインのステージ間で同期されます。
- 外部ターゲット (ADLS Gen2、S3 など) を含むショートカットは、デプロイ後のすべてのステージで同じターゲットを保持します。
- 同じワークスペース内の内部ターゲット (OneLake ショートカット) を含むショートカットは、ステージ間で自動的に再マップされます。 ターゲット テーブル、フォルダー、およびファイルは自動的に作成されません。展開後にターゲット ワークスペースに作成する必要があります。
- ショートカットが異なるステージのさまざまな場所 (開発中の Amazon S3 フォルダーや運用環境の ADLS Gen2 フォルダーなど) を指す必要がある場合は、ショートカット定義で変数を使用します。 詳細については、「 変数ライブラリとは」を参照してください。(プレビュー)。 または、ファブリック ポータルまたは OneLake API を使用して、デプロイ後に手動でショートカット定義を更新します。
重要
デプロイは、ターゲット ワークスペース内のショートカットの状態をオーバーライドします。 ターゲットレイクハウス内のすべてのショートカットは、ソースレイクハウスに基づいて更新または削除され、新しいショートカットが作成されます。 デプロイする前に、常に [変更の確認 ] を選択して変更を理解してください。
OneLake のデータアクセスセキュリティロール
データ アクセス ロール (DAR) 定義は、git の lakehouse フォルダーの下の data-access-roles.json に格納されます。 データ アクセス ロールの追加、削除、更新は自動的に追跡されます。 リポジトリでこのファイルを直接編集し、ワークスペースに変更を適用することもできます。
重要
データ アクセス ロールの定義を Git またはデプロイ パイプラインに同期できるのは、管理者またはメンバー ワークスペース ロールを持つユーザーだけです。
ソース ワークスペースで DAR 追跡とオプトインが有効になっている場合、同期動作はターゲット ワークスペースによって異なります。
| ターゲット ワークスペース | Git の統合 | デプロイ パイプライン |
|---|---|---|
| 新規 (レイクハウスなし) | ✅ DAR 追跡が自動的に有効になっている | ✅ DAR 追跡が自動的に有効になっている |
| DAR 追跡が無効になっている | ✅ DAR 追跡とオプトインの両方が有効 | ✅ DAR 追跡とオプトインの両方が有効 |
| DAR が有効、オプトインが無効 | ⚠️ オプトインを有効にするように求めるメッセージ (オーバーライドまたはキャンセル) | ❌ エラー 1 |
| DAR + オプトインが有効 | ✅ 通常の同期 | ✅ 通常の同期 |
1 デプロイ パイプラインにエラーが表示されたら、ターゲット ワークスペースで DAR 追跡とオプトインを手動で有効にし、デプロイを再試行する前にロールを調整します。
重要
Microsoft Entra メンバー ID は、セキュリティ上の理由から git では追跡されません。 Git とデプロイ パイプラインの操作中は、ロール名が正確に一致する場合にのみ、ワークスペース間でメンバーが保持されます。 メンバーが割り当てられているロールの名前を変更する場合は注意が必要です。