將參數新增至資料處理站元件

已完成

Azure Data Factory 中參數化的連結服務

在 Azure Data Factory 內,可以將連結服務參數化,如此就能在執行階段傳遞動態值。 此情節的一個使用案例是連線至相同 SQL 伺服器上的數個不同資料庫,其中您可能會想在連結服務定義中將資料庫名稱參數化。 這樣做的好處是,您不需要為相同 SQL Server 上的每個資料庫各建立一個連結服務。

連結服務的其他屬性也可以參數化,例如使用者名稱。

如果決定在 Azure Data Factory 中將連結服務參數化,您可以在 Azure Data Factory 使用者介面、Azure 入口網站或您偏好的程式設計介面中這麼做。

如果您選擇透過使用者介面撰寫連結服務,Data Factory 可以針對部分連接器提供內建參數化:

  • Amazon Redshift
  • Azure Cosmos DB (SQL API)
  • 適用於 MySQL 的 Azure 資料庫
  • Azure SQL Database
  • Azure Synapse Analytics (先前稱為 SQL DW)
  • MySQL
  • Oracle
  • SQL Server
  • 泛型 ODBC
  • 泛型 REST

如果您移至連結服務的 [建立]/[編輯] 刀鋒視窗,您會找到參數化的選項。

Parameter settings in Linked Service

如果您因為使用不同類型的連接器,而無法使用內建參數化,則可以透過使用者介面來編輯 JSON。

在連結服務的 [建立]/[編輯] 窗格中,展開窗格底部的 [進階]、選取 [以 JSON 格式指定動態內容] 核取方塊,然後指定連結服務 JSON 承載。

Parameter settings editing JSON through UI

或者,在您建立未參數化的連結服務之後,在 [管理] 中樞中選取 [連結服務],然後尋找特定的連結服務。 然後,選取 {} ([程式碼] 按鈕) 以編輯 JSON。

Azure Data Factory 中的全域參數

在 Azure Data Factory 管線中設定全域參數,可讓您使用這些常數以供在管線運算式中取用。 當您有多個管線,而參數名稱和值都相同時,此為設定全域參數的一種使用案例。

如果您使用持續整合和持續部署 (CI/CD) 程序搭配 Azure Data Factory,如果您想要的話,可以針對所建立的每個環境覆寫全域參數。

在 Azure Data Factory 中建立全域參數

若要建立全域參數,請移至 [管理] 區段的 [全域參數] 索引標籤。 選取 [新增] 以開啟建立側邊功能表窗格。

在側邊功能表窗格中,輸入名稱、選取資料類型,然後指定參數的值。

建立全域參數之後,您可以選取參數的名稱來加以編輯。 若要一次更改多個參數,請選取 [編輯全部]

Global parameters in Azure Data Factory set up

在管線中使用全域參數

在 Azure Data Factory 的管線中使用全域參數時,大多是在管線運算式中參考。 例如,如果管線參考某個資源,例如資料集或資料流程,您可以透過資源參數來傳遞全域參數值。 在 Azure Data Factory 流程中,全域參數的命令或參考如下所示: pipeline().globalParameters.<parameterName>

持續整合與持續傳遞中的全域參數

想要使用 CI/CD 來整合管線中的全域參數與 Azure Data Factory 時,有兩種作法:

  • 在 Azure Resource Manager 範本中包含全域參數
  • 透過 PowerShell 指令碼部署全域參數

在大部分的 CI/CD 實務中,將全域參數包括到 Azure Resource Manager 範本中是有好處的。 建議這麼做的原因是因為其與 CI/CD 之間的原生整合,其中會將全域參數新增為 Azure Resource Manager 範本參數。 這是因為正在處理的數個環境中的變更。

若要在 Azure Resource Manager 範本中啟用全域參數,請移至 [管理] 中樞。 請注意,一旦將全域參數新增至 Azure Resource Manager 範本,將會新增 Azure Data Factory 層級設定,其可以覆寫如 git config 的其他設定。

透過 PowerShell 指令碼部署全域參數的其中一個使用案例,可能是因為您先前已描述在提升權限環境中啟用的設定,例如 UAT 或 PROD。

參數化對應資料流

在 Azure Data Factory 內,您可以使用對應資料流,其可讓您使用參數。 如果您在資料流程定義內設定參數,則可以在運算式中使用參數。 需要透過「執行資料流程」活動來呼叫管線,以設定參數值。

在資料流程活動運算式中設定值時,有三個選項:

  • 使用管線控制流程運算式語言來設定動態值。
  • 使用資料流程運算式語言來設定動態值。
  • 使用任一種運算式語言來設定靜態常值。

將對應資料流參數化的理由,是為了確保您的資料流程是一般化、有彈性且可重複使用的。

在資料流程中建立參數

若要將參數新增至資料流程,請選取資料流程畫布的空白部分,以查看一般屬性。

在 [設定] 窗格中,您會看到 [參數] 索引標籤。

選取 [新增] 以產生新的參數。 針對每個參數,您必須指派名稱、選取類型,另可選擇設定預設值。

Global Parameters in Dataflow in Azure Data Factory Settings

在對應資料流中從管線指派參數

如果您建立已在其中設定參數的資料流程,則可以使用「執行資料流程」活動從管線中加以執行。

將活動新增至管線畫布之後,您會在活動的 [參數] 索引標籤中找到資料流程參數。

指派參數值,能確保您可在以 spark 類型為基礎的管線運算式語言或資料流程運算式語言中使用參數。 您也可以合併這兩者,也就是管線與資料流程運算式參數。