可以使用“Set Variable”和“Derived Column”活动来动态地设置文件名,并将其传递到“Sink”活动中。以下是一个例子:
创建一个变量“filename”,将其类型设置为“String”和作用域设置为“Pipeline”。
在数据流中添加“Set Variable”活动,并将其配置为使用表达式设置变量值。例如,使用以下表达式将当前时间附加到文件名中:
@replace(replace(replace(replace(toLower(concat(formatDateTime(getPastTime(-1, 'Hour', 'yyyy-MM-dd'T'hh:mm:ss'Z''), 'yyyy-MM-dd-hh-mm', 'UTC'), 'part'), '', ''), '-', ''), ':', ''), ' ', '')
例如,如果要将文件写入到Blob存储中的文件夹“output”,则可以在“Sink”活动中设置以下路径:
@concat('/output/', variables('filename'), '.csv')
这将导致数据流将生成的文件写入到“output”文件夹中,并用动态生成的文件名进行命名。
注意:上述示例是针对将文件写入Blob存储的情况。如果要将文件写入其他目标,则需要相应地更改路径。