记录头属性是记录头中的属性,您可以根据需要在管道逻辑中使用这些属性。
有些stage为特定目的创建记录头属性。例如,CDC-enabled源在头属性中包含CRUD操作类型。
其他stage在记录头属性中包含流程相关信息,以供一般使用。例如,事件生成阶段将事件类型包含在记录头属性中,以便根据该信息处理事件。还有一些源包括信息,例如每个记录的原始文件名、位置或分区。
可以使用某些processors来创建或更新记录头属性。例如,可以使用表达式求值器为基于记录的写创建属性。
记录头中包含的属性不需要在管道中使用。例如,您可以在非CDC管道中使用启用了CDC的Salesforce源,并忽略自动生成的CDC记录头属性。
要在使用其他数据格式时保存信息,请使用表达式求值器将信息从记录头属性复制到记录字段。
使用记录头
可以使用Expression Evaluator或任意脚本处理器来创建或更新记录头属性。例如,MongoDB目的地要求在记录头属性中指定CRUD操作。如果提供数据的源没有自动生成该信息,则可以使用表达式求值器或脚本处理器设置属性值。
记录头属性是字符串。可以在任意表达式中使用record:attribute函数在计算中包含属性值。
记录头属性没有字段路径。当在表达式中使用属性时,只使用属性名,用引号括起来,如下所示:
${record:attribute('<attribute name>')}
例如,下面的表达式求值器将目录源创建的文件和偏移记录头属性添加到记录中: