Azure Data Factory 拷贝文件到归档目录时如何动态添加时间戳
问题排查与修复方案
- 优先检查复制活动接收端配置的保留文件名选项:如果该选项处于勾选状态,你自定义的目标文件名表达式会被系统直接覆盖,优先使用源文件名,这是最可能导致问题的原因,取消勾选即可。
- 修正文件名表达式的后缀匹配问题:你当前的表达式是针对
.csv后缀的文件做替换,但你提到源端是Excel文件,后缀通常为.xlsx/.xls,原表达式中的.csv替换逻辑完全不会生效,需要对应修改。
如果你要适配任意后缀的文件,建议用下面的表达式替换原有逻辑:
@concat( split(pipeline().parameters.pTriggerFile, '.')[0], '_', formatDateTime(convertTimeZone(utcnow(),'UTC','Eastern Standard Time'),'yyyy-MM-ddTHHmmss'), '.', split(pipeline().parameters.pTriggerFile, '.')[1] )
如果你确认源文件就是csv后缀,可忽略这条调整。
- 确认目标数据集的参数绑定正确:检查目标数据集的文件名位置是否已经绑定了你用来接收文件名表达式的参数,同时复制活动的接收端页的数据集参数传入值,确实是你写的带时间戳的表达式,而不是直接传了源文件名参数。
- 触发运行前可以先点击表达式旁的「验证」按钮,确认表达式能正常解析出带时间戳的文件名格式,排除语法错误。
内容的提问来源于stack exchange,提问作者user2703679
相关产品推荐
相关产品推荐

