You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Factory添加时区脚本后Blob输出带随机数问题咨询

随机数字出现的原因

你观察到的7位数字并非随机生成,核心原因如下:

  • convertTimeZone() 函数未显式指定输出格式时,默认返回ISO 8601完整时间格式 yyyy-MM-ddTHH:mm:ss.fffffffK,末尾的7位fffffff就是调用utcnow()时的毫秒精度字段,就是你看到的数字段。
  • 原脚本使用的pipeline().parameters.SliceStart参数默认仅到秒级精度,没有毫秒段,因此之前不会出现该段内容。
  • 补充说明:如果Sink配置未明确指定完整文件名(含后缀),Copy活动也可能自动追加分片序号,但从你提供的脚本来看,核心诱因是时间格式的默认毫秒精度。
移除该数字的解决方案

你只需给convertTimeZone()函数新增第4个格式参数,显式指定时间输出的精度和格式即可,同时建议直接在脚本中补全文件后缀,避免Azure Data Factory自动追加额外内容:

  1. 如果你需要时间格式不含特殊字符(适配Blob存储文件名规则),可以使用到秒级的纯数字格式,修改后的动态内容如下:
@concat('Test_',convertTimeZone(utcnow(),'UTC','New Zealand Standard Time','yyyyMMddHHmmss'),'_.csv')
  1. 如果你需要保留日期时间分隔符,可使用如下格式规避非法字符:
@concat('Test_',convertTimeZone(utcnow(),'UTC','New Zealand Standard Time','yyyy-MM-dd-HH-mm-ss'),'_.csv')

额外验证项:确认Copy活动Sink设置页的「文件命名选项」选择为「指定文件名」,不要选择自动生成文件名的相关选项,避免额外序号追加。

内容的提问来源于stack exchange,提问作者Akshay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 13:57:02