次の方法で共有


Dataflow Gen2 で Fabric 変数ライブラリを使用する (プレビュー)

この機能は現在プレビュー段階であり、CI/CD を使用する Dataflow Gen2 でのみ使用できます。 継続的インテグレーション/継続的デプロイ (CI/CD) シナリオでこの機能を活用する方法の詳細については、 Dataflow Gen2 の CI/CD および ALM ソリューション アーキテクチャに 関する記事と、 データフローの変数参照に関するエンド ツー エンドのチュートリアルを参照してください。

ファブリック変数ライブラリは、 Microsoft Fabric ワークロード全体の構成値を一元的に管理する方法を提供します。 Dataflow Gen2 (プレビュー) の新しい統合により、これらの変数をデータフローで直接参照できるため、環境間での動的な動作が可能になり、CI/CD ワークフローが簡略化されます。

[前提条件]

Dataflow Gen2 で Fabric 変数ライブラリを使用するには、次のことを確認します。

Dataflow Gen2 でファブリック変数ライブラリを使用する方法

Dataflow Gen2 内では、次のいずれかの関数を使用して変数を参照できます。

これら 2 つの関数のいずれかに渡す必要がある予想される識別子は、次の形式に従う必要があります。

$(/**/LibraryName/VariableName)

My Library という変数ライブラリと MyVariable という名前の型文字列の変数があるシナリオの両方の関数の例を次に示します。

Variable.ValueOrDefault("$(/**/My Library/My Variable)", "Sample")
Variable.Value("$(/**/My Library/My Variable)")

この関数をクエリ スクリプトに適用して、Fabric Lakehouse コネクタを使用して特定の LakehouseId と WorkspaceId から Table1 という名前のテーブルに接続する次のクエリ例を見てみましょう。

let
  Source = Lakehouse.Contents([]),
  #"Navigation 1" = Source{[workspaceId = "cfafbeb1-8037-4d0c-896e-a46fb27ff229"]}[Data],
  #"Navigation 2" = #"Navigation 1"{[lakehouseId = "5b218778-e7a5-4d73-8187-f10824047715"]}[Data],
  #"Navigation 3" = #"Navigation 2"{[Id = "Table1", ItemKind = "Table"]}[Data]
in
  #"Navigation 3"

CI/CD シナリオでは、適切なステージの適切な項目を動的に指すように、 workspaceIdlakehouseId に渡された値を置き換えることを計画しています。

そのため、データフローが配置されているのと同じワークスペースには、データフローで参照する次の変数を含む My Library という名前の変数ライブラリもあります。

変数名 変数型 既定値の設定
ワークスペース ID String a8a1bffa-7eea-49dc-a1d2-6281c1d031f1
レイクハウスID String 37dc8a41-dea9-465d-b528-3e95043b2356

この情報を使用すると、クエリ スクリプトを変更して、次のスクリプトの結果となる値を置き換えることができます。

let
  Source = Lakehouse.Contents([]),
  #"Navigation 1" = Source{[workspaceId = Variable.ValueOrDefault("$(/**/My Library/Workspace ID)",  "cfafbeb1-8037-4d0c-896e-a46fb27ff229")]}[Data],
  #"Navigation 2" = #"Navigation 1"{[lakehouseId =  Variable.ValueOrDefault("$(/**/My Library/Lakehouse ID)","5b218778-e7a5-4d73-8187-f10824047715")]}[Data],
  #"Navigation 3" = #"Navigation 2"{[Id = "Table1", ItemKind = "Table"]}[Data]
in
  #"Navigation 3"

変更されたスクリプトを使用してデータフローを実行すると、変数の値と、変数によって定義された正しいデータ型に解決されます。 これは、データフローの実行時に使用可能な値に応じて、異なるワークスペースと Lakehouse を指します。

注意事項

Power Query エディターでは、現在、変数の評価はサポートされていません。 Variable.ValueOrDefault 関数を使用して、作成エクスペリエンスでプロトタイプ作成に既定値が使用されるようにすることをお勧めします。

Variable.ValueOrDefault を使用して既定値を使用すると、参照変数ライブラリを持たない別の環境にソリューションをコピーまたは移動した場合でも、数式が解決されます。 実行時に、変数は正しい値に解決されます。

考慮事項と制限事項

次の一覧では、Dataflow Gen2 で Fabric 変数ライブラリを使用する場合に注意すべき重要な制約と動作の概要を示します。 これらの制限は、設計と実行時の変数の参照、評価、適用方法に影響します。

  • ワークスペース スコープ: 変数ライブラリは、CI/CD を使用する Dataflow Gen2 と同じワークスペースに存在する必要があります。

  • 参照場所: 変数は、 CI/CD を使用する Dataflow Gen2 の mashup.pq ファイル内でのみ使用できます。

  • ランタイム動作: 変数の値は、実行操作の開始時に取得され、操作全体にわたって保持されます。 データフローの実行中にライブラリに発生した変更は、その実行を停止したり、影響を与えたりすることはありません。

  • Power Query エディターのサポート: Power Query エディター内で変数を解決または評価するための現在のサポートはありません。

  • 既定値の使用: Variable.ValueOrDefault 関数で既定値を使用する場合は、既定値のデータ型が参照先の変数のデータ型と一致していることを確認します。

  • サポートされている型: 基本型の変数 (booleandatetimeguidintegernumberstring) のみがサポートされます。

  • 固定接続: 変数は接続情報を変更できません。 接続は、作成されたリソース パスの構成に固定されたままです。

  • オーバーライド リスク: 変数ライブラリを変更するアクセス権を持つユーザーは変数値をオーバーライドでき、データフロー出力に影響を与える可能性があります。

  • スキーマ マッピング: 変数は宛先スキーマ マッピングを変更できません。マッピングは、作成されたセットアップに従います。

  • 系列の表示: 系列ビューには、Dataflow Gen2 とそれが参照する変数ライブラリ間のリンクは表示されません。

  • 変数の制限: データフローでは、最大 50 個の変数のみを取得できます。

  • SPN のサポート: データフローは、更新が認証に SPN を使用していない場合にのみ正常に更新できます。