備註
此功能目前為預覽版,僅適用於使用 CI/CD 的 Dataflow Gen2。 如需如何在持續整合/持續部署 (CI/CD) 案例中利用此功能的詳細資訊,請務必閱讀 資料流程 Gen2 的 CI/CD 和 ALM 解決方案架構 的文章,以及 資料流程中變數參考的端對端教學課程。
Fabric 變數程式庫 提供集中式方式來管理跨 Microsoft Fabric 工作負載的組態值。 透過資料流程 Gen2 (預覽版) 中的新整合,您可以直接在資料流程中參考這些變數,從而實現跨環境的動態行為並簡化 CI/CD 工作流程。
先決條件
若要在資料流程 Gen2 中使用 Fabric 變數程式庫,請確定下列事項:
您有權 建立和管理 Fabric 變數程式庫。
您正在使用 資料流程 Gen2 與 CI/CD。
如何在資料流程 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"
您計劃替換傳遞給 workspaceId 和 lakehouseId 的值,以便在 CI/CD 場景中,它能動態指向正確階段中的正確項目。
為此,在資料流所在的相同工作區中,您也有名為「 我的程式庫 」的變數程式庫,其中包含您計劃在資料流中參考的下列變數:
| 變數名稱 | 變數類型 | 預設值集 |
|---|---|---|
| 工作區識別碼 | 繩子 | A8A1BFFA-7EEA-49DC-A1D2-6281C1D031F1 |
| 湖庫識別碼 | 繩子 | 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 的資料流程 Gen2 相同的工作區中。
參考位置:變數只能在 具有 CI/CD 的資料流 Gen2 的 mashup.pq 檔案內使用。
執行階段行為:變數值會在執行作業開始時擷取,並在整個作業中保存。 在資料流程執行期間,程式庫發生的變更不會停止或影響其執行。
Power Query 編輯器支援:目前不支援解析或評估 Power Query 編輯器內的變數。
使用預設值:透過 函數Variable.ValueOrDefault使用預設值時,請確保預設值的資料類型與引用變數的資料類型相符。
支援的類型:僅支援基本類型的變數 (
boolean、 、datetime、guidintegernumber、 和 )。string固定連線:變數無法變更連線資訊。 連線會固定至編寫的資源路徑組態。
覆寫風險:有權修改變數程式庫的使用者可以覆寫變數值,可能會影響資料流程輸出。
結構描述對應:變數無法修改目的地結構描述對應;對應會遵循編寫的設定。
譜系可見度:譜系檢視不會顯示資料流程 Gen2 與其參考的變數程式庫之間的連結。
變數限制:資料流程最多只能擷取 50 個變數。
SPN 支援:只有在重新整理未使用 SPN 進行驗證時,資料流才能順利重新整理。