最新历史版本 :如何配置並使用參數 返回文檔
編輯時間: 內容長度:图片数:目录数: 修改原因:

目錄:

1.  概述编辑

本文講述如何在定時任務中配置並使用參數。

1718269347407461.png

2. 步驟一:定義參數(必做)编辑

FDL 中參數分為三類:任務內參數、全局參數、內建參數。如下圖所示:

注:「參數列表」介面展示的參數為該任務可使用的參數。

23.png

2.1 任務內參數

2.1.1 任務參數(自訂參數)

該參數詳細介紹請參見:自訂參數(靜態參數);設定的參數可以被當前任務內的所有節點引用。適用於參數值個數較少、參數值已明確不需要計算的場景。

參數生成位置:

1716790188368644.png

參數生成說明:

1)自訂時間參數:

自訂時間參數需要基於系統內建參數 ${cyctime},透過對 ${cyctime} 加減實現時間的自訂,自訂的格式為:${時間格式+N} 或${時間格式-N}

「時間格式」可以透過 yyyy、yy、mm、dd、hh、mi、ss 自由組合成 yyyy、mm、dd、yyyymm、mmdd、yyyymmdd、yyyy-mm-dd、yyyy-mm-dd hh:mi:ss 等,其中:

注:參數格式不支援:mi:ss、mi、ss

2)自訂常數參數

常數參數支援設定的類型有:「正文」、「數值」、「布爾」。範例如下:

1716790382172193.png

2.1.2 指派參數

詳情請參見:參數指派節點參數匯出

參數作用範圍:下游分支的所有節點;適用於參數值較多,且參數值儲存在資料庫表、API、檔案等位置中,需要將參數值取出、計算(該操作可不做)的場景。

在 FDL 中對資料經過複雜處理後,支援使用 參數指派節點參數匯出 將處理後的結果匯出為參數。如下圖所示:

26.png

參數指派節點與參數匯出算子差別:

區分項
參數指派參數匯出
位置
與「資料轉換」節點平級資料轉換節點內使用
使用方法
可生成參數的值,並匯出參數,適用於參數值不需要經過複雜計算的場景

40.png

只能將其他算子處理的結果,匯出為參數,自己無法生成參數的值

若參數值需要複雜計算才能得出,可使用參數匯出算子

41.png

2.2 全局參數

參數作用範圍:可被當前工程所有定時任務使用;適用於參數值不需要經過複雜計算的場景。

1)全局參數-靜態參數

參數類型支援:日期、正文、數值、布爾;設定內容與本文 2.1.1 節任務參數(自訂參數)相同。

27.png

2)全局參數-指派參數

可設定全局動態參數。如下圖所示:

28.png

2.3 內建參數

FDL內建參數,無需定義即可使用。如下圖所示:

1716792375498341.png

3. 步驟二:設定參數預設值(建議做)编辑

3.1 說明

本文 2.1.2 節 參數指派節點參數匯出 的參數、2.2 節中的全局參數-指派參數建議設定參數預設值,且參數預設值為有效的,即為參數預覽出的結果。如下圖所示:

注1:參數預設值只是為了便於下游節點預覽資料,不參與實際運作。

注2:若開啟閉包符,參數值將被單引號框起來,若後續節點引用參數時,需注意單引號/雙引號的使用,若再帶層單引號或雙引號,可能導致取數失敗;例如參數 a 值為 '北京' ,後續引用該參數時又帶了一層單引號('${a}'),則參數值會變為 ''北京''

30.png

便於後續節點使用參數,查看參數引用效果,確認任務設定是否正確。如下圖所示:

31.png

3.2 注意事項

3.2.1 參數值需為最新

若參數的值為動態變化的,建議更新參數預設值後,再預覽使用參數後的結果,保證預覽結果為最新資料。例如參數值為access_token(動態變化且過段時間失效),除錯任務時需要更新參數預設值。否則,下游節點預覽失敗。如下圖所示:

32.png

3.2.2 循環容器節點引用參數,參數預設值為多個

參數預設值可以填寫多個,如下圖所示:

74.png

循環容器節點中,若引用該參數,會將參數預設值原樣填入參數值中顯示預覽結果若預設值為 5 個,後續節點引用時參數值為這 5 個,不會將參數預設值進行切分。如下圖所示:

73.png

任務實際運作時,會將參數一個個傳遞給循環容器節點,即不影響任務實際運作,只影響預覽結果

所以,建議使用者填寫有效參數預設值,後續節點引用該參數後才能正常預覽結果。

4. 使用參數(必做)编辑

4.1 節點使用參數

參數定義好後,可在節點、算子中使用參數查詢資料。

對於定義好的參數,引用方式有一些差異:

1)參數指派節點、參數匯出算子、全局參數-動態參數

此類參數如果定義的閉包符是正確的,那麼使用時直接用${參數名}即可。閉包符定義相關詳情參見:參數指派功能說明

範例說明:

此類參數在設定時,可設定閉包符:

33.png

若閉包符開關開啟,會自動給參數匯出的值加引號:

  • 數值類型分隔:單個值範例:1;多個值範例:1,2,3

  • 正文型分隔:單個值範例:'text';多個值範例:'text1','text2'

若匯出的資料是多個值,且值不是數值時,需要開啟閉包符。下游節點/算子引用該參數時,無需再加引號,直接用${參數名}即可。

若匯出的資料是多個值,且值不是數值時,沒有開啟閉包符,下游節點/算子引用該參數時,需要加上引號,為'${參數名}'

2)任務參數(自訂參數)、內建參數、全局參數-靜態參數

  • 若參數為整數型態、雙精度型、布林型,直接用${參數名}的方式引用參數;

  • 若參數值為字元類型、日期類型,需要加上單引號引用參數:'${參數名}'

3)特別情況說明

4.1.0 之前版本中,「循環容器」節點中引用參數時,會自動去掉參數的單引號,所以「循環容器」節點在使用正文型(分隔符選擇正文型分隔)參數需要手動加上單引號。

4.1.0 及之後版本,「循環容器」節點中引用參數時,不再自動去掉參數的單引號,所以「循環容器」節點在使用正文型(開啟閉包符)參數時無需手動加上單引號。

「參數指派節點+循環容器」場景中,若「參數指派」節點匯出參數的分隔符選擇「正文型分隔」,在循環容器內使用參數時加了單引號,升級到 4.1.0 及之後版本時,需要手動去掉單引號。

4.2 參數引用優先

當「參數指派」設定的參數與「自訂參數」和「內建參數」存在同名時,引用順序將採用如下優先:

  • 整體優先:「參數指派」設定的參數>呼叫任務中父任務參數>「自訂參數」>「全局參數」>「內建參數」

  • 區域性優先:由於一個任務中可建立多個「參數指派」,可能存在兩個及以上的同名參數可被下游節點引用,此時距離節點越近的「參數指派」參數優先越高。

注:循環容器內參數規則詳情參見:容器內參數規則

4.3 跨層級傳遞參數

可以選擇性地將任務參數和動態參數傳遞給子任務使用。

詳情請參見:呼叫任務

4.4 查看參數

全局參數:

設定全局參數的地方可查看所有建立的全局參數。如下圖所示:

35.png

任務內參數:

自訂參數(靜態參數)參數指派節點參數匯出設定的參數,開啟定時任務,點選「參數列表」,可查看該任務設定的這些參數:

36.png

5. 知識擴展编辑

1)使用者有時需要時間類型的參數,自訂時間參數 不能滿足實際需要。例如,使用者需要獲取當月第一天、當月最後一天,並匯出為參數。此類複雜的時間參數獲取方法可參見:

注:使用者可使用其他算子、節點,處理資料,得到想要的參數值,再將參數匯出。

  • 「參數指派」節點實現:「參數指派」節點中使用SQL語句獲取參數值,再將參數匯出:

39.png

2)參數支援加密後進行取數,詳情請參見:API采集数据专题