巨集是 Cloud Data Fusion 外掛程式屬性設定中的預留位置。這些變數會以 ${ }
內的變數表示,例如 ${input_file_path}
。如要為元素 (例如檔案路徑和表格名稱) 啟用動態設定,系統會在執行階段將預留位置替換為實際值。
查看外掛程式屬性時,您可以在任何屬性欄位 (旁邊有 M 字樣) 中新增巨集。如要新增巨集,請按一下 M。
詳情請參閱「管理巨集、偏好設定和執行階段引數」。
巨集函式
除了巨集之外,您還可以使用下列預先定義的巨集函式:
logicalStartTime()
secure()
邏輯開始時間函式
logicalStartTime()
巨集函式會以字串值傳回管道執行作業的邏輯開始時間。
如果未提供參數,則會以毫秒為單位傳回開始時間。所有參數皆為選用。這個函式會將時間格式、偏移量和時區做為引數,並使用管道的邏輯開始時間執行替換作業:
${logicalStartTime([timeFormat[,offset [,timezone])}
以下清單列出 logicalStartTime()
的選用參數:
參數 | 說明 |
---|---|
timeFormat |
時間格式模式,格式為 Java SimpleDateFormat 。 |
offset |
邏輯開始時間前的時間偏移。 |
timezone |
邏輯開始時間使用的時區。 |
示例
在本例中,管道執行的邏輯開始時間為 2020-01-01T00:00:00
,您提供以下巨集:
${logicalStartTime(yyyy-MM-dd'T'HH-mm-ss,1d-4h+30m)}
格式為 yyyy-MM-dd'T'HH-mm-ss
,偏移量為邏輯開始時間前的 1d-4h+30m
。在執行階段,系統會將巨集值替換為 2019-12-31T03:30:00
,因為偏移值會轉換為 20.5 小時。整個巨集會在 2020 年 1 月 1 日午夜前 20.5 小時執行。
在檔案型外掛程式中使用 logicalStartTime()
使用這個函式的最常見方式,是在檔案型外掛程式的 Path 欄位中。
在檔案名稱中加入管道開始時間 (以毫秒為單位)
如要在檔案名稱中以毫秒為單位擷取實際的開始時間,請在巨集函式中省略參數。
示例
在本例中,您會在 Amazon S3 檔案名稱中加入管道開始時間 (以毫秒為單位):
sales_012345671011.csv
在 Amazon S3 匯出端屬性中,在「Path」欄位中輸入下列值:
s3a://sales-data/sales_${logicalStartTime()}.csv
在檔案名稱中加入今天的日期
您可以在檔案名稱中使用 logicalStartTime()
巨集函式,擷取目前的日期。
示例
在本例中,您會在下列 S3 檔案名稱中擷取今天的日期:
s3a://sales-data/sales_20210204.csv
在 Amazon S3 匯出端屬性中,在「Path」欄位中輸入下列值:
s3a://sales-data/sales_${logicalStartTime(yyyyMMdd)}.csv
使用 logicalStartTime
在結構化記錄中新增 Timestamp 欄位
您可以使用「新增欄位」轉換和 logicalStartTime()
,在結構化記錄中新增時間戳記。
- 從 Cloud Data Fusion Hub 取得 Field Adder Transform 外掛程式。部署外掛程式後,「轉換」清單中會顯示「新增欄位」。
- 設定外掛程式屬性時,請將時間戳記新增至結構化記錄,例如,輸入欄位名稱時輸入新欄位的名稱,輸入欄位值時輸入
logicalStartTime()
巨集函式。
安全功能
secure()
巨集函式會將單一鍵做為引數,並從安全儲存庫中查詢鍵的相關字串值。如要執行替換作業,您必須先在安全儲存庫中提供做為引數的金鑰。這對於用於敏感資料的替換作業相當實用。
示例
在這個範例中,如果外掛程式連線至 MySQL 資料庫,您可以使用下列值設定密碼屬性欄位:
${secure(password)}
這個巨集會在執行階段從安全儲存庫中提取密碼。
遞迴巨集
巨集最多可遞迴參照其他巨集十個層級。系統會由最內層到最外層的引數依序評估巨集引數。
示例
在這個範例中,您有一個伺服器,可參照主機名稱和通訊埠。您必須提供下列執行階段引數,其中最後一個引數是參照其他巨集的巨集:
- 主機名稱:
examplepetstore.com
- port:
9991
- server-address:
${hostname}:${port}
在管道設定中,請使用下列運算式:
server-address: ${server-address}
在執行階段,系統會將其替換為下列值:
examplepetstore.com:9991
後續步驟
進一步瞭解巨集、偏好設定和執行階段引數。
瞭解如何使用外掛程式範本。