宏是 Cloud Data Fusion 插件属性中的占位符
配置。它们由 ${ }
内包含的变量表示,例如
${input_file_path}
。要为文件等元素启用动态配置,请执行以下操作:
占位符会替换为实际值,
运行时。
查看插件的属性时,您可以向任意属性字段添加宏 且旁边带有 M 标记。如需添加该宏,请点击 M。
如需了解详情,请参阅管理宏、偏好设置和运行时参数。
宏函数
除了宏之外,您还可以使用以下预定义的宏函数:
logicalStartTime()
secure()
逻辑开始时间函数
logicalStartTime()
宏函数会返回运行的逻辑开始时间
以字符串值表示。
如果未提供任何参数,则返回以毫秒为单位的开始时间。全部 参数是可选的。该函数采用时间格式、偏移量和 timezone 作为参数,并使用流水线的逻辑开始时间来执行 替换:
${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 接收器属性中,在路径中输入以下值 字段:
s3a://sales-data/sales_${logicalStartTime()}.csv
在文件名中包含当天的日期
您可以在文件名中使用 logicalStartTime()
宏函数来捕获
当前日期。
示例
在此示例中,您将使用以下 S3 文件名捕获当天的日期:
s3a://sales-data/sales_20210204.csv
在 Amazon S3 接收器属性中,在路径中输入以下值 字段:
s3a://sales-data/sales_${logicalStartTime(yyyyMMdd)}.csv
使用 logicalStartTime
向结构化记录添加时间戳字段
您可以使用添加字段向结构化记录添加时间戳
和 logicalStartTime()
。
- 从 Cloud Data Fusion Hub 获取 Field Adder 转换插件。 部署插件后,该插件将在转换列表中显示为添加 字段。
- 配置插件属性时,请将时间戳添加到结构化
记录 - 例如,对于字段名称,请输入新字段的名称
字段;对于字段值,请输入
logicalStartTime()
宏 函数。
保护功能
secure()
宏函数接受单个键作为参数,并查找
从 Secure Store 中获取键的关联字符串值。
要执行替换操作,作为参数提供的 key 必须已
不存在于安全商店中。这对于使用
敏感数据。
示例
在此示例中,对于连接到 MySQL 数据库的插件,您需要配置 密码属性字段,其值如下:
${secure(password)}
此宏会在运行时从安全存储区提取密码。
递归宏
宏以递归方式引用其他宏,最多可引用十个级别。宏观 实参从最内层到最外层进行求值。
示例
在此示例中,您的服务器引用了主机名和端口。您 请提供以下运行时参数,其中最后一个参数是引用 至其他宏:
- 主机名:
examplepetstore.com
- port:
9991
- server-address:
${hostname}:${port}
在流水线配置中,您可以使用以下表达式:
server-address: ${server-address}
在运行时,它会被替换为以下值:
examplepetstore.com:9991
后续步骤
详细了解宏、偏好设置和运行时参数。
了解如何使用插件模板。