ADF 第八篇:傳遞參數(Pipeline的Parameter和Variable,Activity的output)和應用表達式


Azure Data Factory 系列博客:

 

Azure Data Factory傳遞參數的方式主要有兩種,通過Pipeline的Parameter和Variable來傳遞參數,通過Activity的輸出來傳遞參數。要在Activity中引用Parameter、Variable或活動輸出的值,需要通過“Add dynamic content”來實現。

Activity可以通過表達式獲得動態上下文,使得Activity可以根據表達式的值得出不同的執行效果。

一,通過Parameter 和 Variable來傳遞參數

在Pipeline中,可以創建Parameter和Variable,Parameter是不可變的、只讀的常量,而Variable的值是可變。從這個意義上來說,Parameter和Variable都是在Pipeline級別上創建的常量或變量。

1,創建Parameter和Variable

點擊Pipeline的畫布,底部彈出對話框,打開Parameters選項卡,創建Parameter,Parameter的Type有String、Int、Float、Bool、Array、Object和SecureString。Object代表的是對象類型,通常是指表類型。

 

打開Variables選項卡,創建Variable,Variable的Type只有String、Bool和Array。

2,引用Parameter和Variable

在“Add dynamic content”的文本框中輸入公式,來引用Parameter或Variable的值。

舉個例子,引用Paramter的值:

舉個例子,引用Variable的值:

3,更新Variable的值

用於可以通過Set Variable 活動或Append Variable活動來更新Variable的值。其中,Set Variable活動用於更新變量值,而Append Variable用於向Array類型的變量增加item,即向數組的末尾增加一個元素。

二,通過Activity的輸出來傳遞參數

在Pipeline中的Activity的輸出,都可以通過“Add dynamic content”來添加Activity outputs:

通常活動的輸出(output)是表結構,引用表中第一行的某一列的語法是:

@activiy('activity_name').output.firstRow.column_name 

三,應用表達式

數據工廠以JSON文件的格式來配置Activity的屬性,一個Key-Value對表示一個屬性。在Value中應用表達式,表達式中的字符串使用單引號:'string' 來表示,

1,表達式的理論知識

定義中的JSON的值(Value)可以是文字的(常量),或者在運行時求值的表達式,例如:

"name": "value"
"name": "@pipeline().parameters.password"

表達式可以出現在JSON字符串值中的任何位置,如果JSON值是一個表達式,則可以通過前導符號@來提取表達式的主體。如果需要以@開頭的文字字符串,則必須使用@@對其進行轉義。 以下示例顯示如何評估表達式。

舉個例子,myString參數是foo,myNumber參數是42,引用表達式運算的結果如下:

2,應用表達式

打開“Add dynamic content”對話框,輸入表達式,如果表達式需要引用運行時的值,要以@字符開頭。

上文遇到的表達式:

  • 引用變量: @variables('var_name')
  • 引用Pipeline的參數:@pipeline().parameters.para_name
  • 獲得活動輸出的第一行的某一列的值:@activiy('activity_name').output.firstRow.column_name
  • 根據表達式獲得一個bool值:@equals(variables('strVar'),'abc')

 

 

參考文檔:

Expressions and functions in Azure Data Factory


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM