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

Azure Data Factory中split后取最后元素:函数链是否正确?报错原因?

Azure Data Factory表达式疑问解答

表达式正确性确认

你的表达式 @last(split(dataset().fileName, '/')) 是完全正确的,和Python里用s.split('/')[-1]的逻辑完全一致:

  • split(dataset().fileName, '/') 会将文件名按/分割为字符串数组
  • last() 函数直接提取数组的最后一个元素,也就是你需要的目标文件名hospital_admissions.csv

编辑器报错但运行正常的原因

这是ADF表达式编辑器的静态语法校验bug:

  • 编辑器的类型检查逻辑没有正确识别split函数返回的是字符串数组,错误判定传入last()的是单个字符串,因此抛出Cannot fit string list item into the function parameter string的提示
  • 但实际运行时,ADF的执行引擎会正确解析split的返回值类型,按数组处理并执行last()函数,所以最终结果符合预期

你可以临时在表达式中加入typeof(split(dataset().fileName, '/'))验证,运行时会返回Array,这也能佐证编辑器的校验结果是错误的。

内容的提问来源于stack exchange,提问作者Jonas Palačionis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:05:30