在数据流 Gen2 中使用 Fabric 变量库(预览版)

注释

此功能目前为预览版,仅用于 Dataflow Gen2 与 CI/CD。 有关如何在连续集成/连续部署(CI/CD)方案中利用此功能的详细信息,请务必阅读 有关数据流 Gen2 的 CI/CD 和 ALM 解决方案体系结构的文章, 以及 有关数据流中变量引用的端到端教程。

Fabric 变量库 提供了一种集中的方式来管理跨 Microsoft Fabric 工作负荷的配置值。 使用 Dataflow Gen2(预览版)中的新集成,可以直接在数据流中引用这些变量,跨环境启用动态行为并简化 CI/CD 工作流。

先决条件

若要在 Dataflow Gen2 中使用 Fabric 变量库,请确保满足以下条件:

如何在 Dataflow Gen2 中使用 Fabric 变量库

在数据流 Gen2 中,可以使用以下任一函数引用变量:

必须传递给这两个函数之一的预期标识符必须遵循以下格式:

$(/**/LibraryName/VariableName)

在这个场景中,以下是两个函数的示例,你有一个名为My Library的变量库和一个名为My Variable的字符串变量:

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"

你计划替换传递给 workspaceIdlakehouseId 的值,以便在 CI/CD 方案中,它会动态指向正确阶段中的正确项。

为此,在数据流所在的同一工作区中,还有一个名为 “我的库 ”的变量库,其中包含计划在数据流中引用的以下变量:

变量名称 变量类型 默认值集
工作区 ID String a8a1bffa-7eea-49dc-a1d2-6281c1d031f1
Lakehouse 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"

使用修改后的脚本运行数据流时,它将解析为变量中的值,以及变量定义的正确数据类型。 视运行数据流时的可用值而定,这会指向不同的工作区和湖仓。

注意

Power Query 编辑器当前不支持对变量的计算。 我们建议使用 Variable.ValueOrDefault 函数来确保创作体验使用默认值进行原型制作。

通过 Variable.ValueOrDefault 使用默认值可确保即使将解决方案复制或移动到没有引用变量库的另一个环境,公式也会解析。 在运行时,变量解析为正确的值。

注意事项和限制

以下列表概述了在将 Fabric 变量库与 Dataflow Gen2 配合使用时要记住的重要约束和行为。 这些限制会影响在设计和运行时期间引用、计算和应用变量的方式。

  • 工作区范围:变量库必须与具有 CI/CD 的数据流 Gen2 位于同一工作区中。

  • 引用位置:变量只能在 具有 CI/CD 的数据流 Gen2 的 mashup.pq 文件中使用。

  • 运行时行为:变量值在运行作开始时检索并在整个作中持久保存。 数据流运行期间对库发生的更改不会停止或影响其运行。

  • Power Query 编辑器支持:当前不支持解析或评估 Power Query 编辑器中的变量。

  • 使用默认值:通过 函数 Variable.ValueOrDefault 使用默认值时,请确保默认值的数据类型与引用变量的数据类型匹配。

  • 支持的类型:仅支持基本类型的变量(boolean、、、datetimeguidinteger、和)。 numberstring

  • 固定连接:变量无法更改连接信息。 连接仍然固定到定义的资源路径配置。

  • 替代风险:有权修改变量库的用户可以替代变量值,这可能会影响数据流输出。

  • 架构映射:变量无法修改目标架构映射;映射遵循创作的设置。

  • 世系可见性:世系视图不显示数据流 Gen2 及其引用的变量库之间的链接。

  • 变量限制:数据流最多只能检索 50 个变量。

  • SPN 支持:只有在刷新时未使用 SPN 进行身份验证的情况下,数据流刷新才能成功。