? ? ? ?記錄頭屬性是記錄頭中的屬性,您可以根據需要在管道邏輯中使用這些屬性。
? ? ? ?有些stage為特定目的創建記錄頭屬性。例如,CDC-enabled源在頭屬性中包含CRUD操作類型。
? ? ? ?其他stage在記錄頭屬性中包含流程相關信息,以供一般使用。例如,事件生成階段將事件類型包含在記錄頭屬性中,以便根據該信息處理事件。還有一些源包括信息,例如每個記錄的原始文件名、位置或分區。
? ? ? ?可以使用某些processors來創建或更新記錄頭屬性。例如,可以使用表達式求值器為基于記錄的寫創建屬性。
? ? ? ?記錄頭中包含的屬性不需要在管道中使用。例如,您可以在非CDC管道中使用啟用了CDC的Salesforce源,并忽略自動生成的CDC記錄頭屬性。
? ? ? ?要在使用其他數據格式時保存信息,請使用表達式求值器將信息從記錄頭屬性復制到記錄字段。
使用記錄頭
? ? ? ?可以使用Expression Evaluator或任意腳本處理器來創建或更新記錄頭屬性。例如,MongoDB目的地要求在記錄頭屬性中指定CRUD操作。如果提供數據的源沒有自動生成該信息,則可以使用表達式求值器或腳本處理器設置屬性值。
? ? ? ?記錄頭屬性是字符串。可以在任意表達式中使用record:attribute函數在計算中包含屬性值。
? ? ? ?記錄頭屬性沒有字段路徑。當在表達式中使用屬性時,只使用屬性名,用引號括起來,如下所示:
${record:attribute('<attribute name>')}
? ? ? ?例如,下面的表達式求值器將目錄源創建的文件和偏移記錄頭屬性添加到記錄中:
image.png