在Azure Data Factory中如何修改已复制文件的名称
在Azure Data Factory中给复制到Blob的Cosmos DB文件添加日期前缀
要实现给复制后的文件添加日期前缀并保留原文件名,直接通过ADF的动态表达式配置接收器文件名即可,步骤如下:
打开复制活动的Sink选项卡(如果是配置输出数据集,就打开Blob存储数据集的设置),找到文件名配置项
点击输入框旁的动态内容按钮(</>),输入以下表达式:
@concat(formatDateTime(utcNow(), 'yyyyMMdd'), '_', item().name)其中:
formatDateTime(utcNow(), 'yyyyMMdd'):生成当前UTC日期的格式化字符串(格式可自定义,比如改成yyyy-MM-dd)item().name:自动获取Cosmos DB源容器里的原文件名(多文件批量复制时会遍历每个文件)
特殊场景处理:
- 如果是单次复制单个文件,且原文件名通过管道参数传入,表达式改成:
@concat(formatDateTime(utcNow(), 'yyyyMMdd'), '_', pipeline().parameters.sourceFileName) - 要使用本地时间而非UTC,把
utcNow()替换为convertTimeZone(utcNow(), 'UTC', 'China Standard Time')(时区ID按需替换) - 注意日期格式不要包含Blob文件名禁止的字符(比如/、\、:等)
- 如果是单次复制单个文件,且原文件名通过管道参数传入,表达式改成:
内容的提问来源于stack exchange,提问作者MacLiamor
相关产品推荐
相关产品推荐

