表达式构建器提示未知函数名:formatDateTime与utcnow()报错排查
问题排查与解决方案
你的表达式本身逻辑没问题,但Azure不同服务对表达式函数的支持存在差异,出现「未知函数名」提示大概率是用错了对应服务的函数集,以下是常见场景的排查和修正方案:
若你在Azure Data Factory(ADF)数据流中使用该表达式:
ADF数据流使用独立的表达式语言,不支持utcnow()和formatDateTime(),需替换为currentUTC()(获取当前UTC时间)和toString()(格式化日期),修正后的表达式:@concat('/POC/View/', toString(currentUTC(), 'yyyy'), '/', toString(currentUTC(), 'yyyyMMdd'), '/', toString(currentUTC(), 'yyyyMMddHHmmss'), '.parquet')若你在ARM模板中使用该表达式:
ARM模板里的时间函数是utcNow()(注意Now的首字母大写),修正后的表达式:@concat('/POC/View/', formatDateTime(utcNow(), 'yyyy'), '/', formatDateTime(utcNow(), 'yyyyMMdd'), '/', formatDateTime(utcNow(), 'yyyyMMddHHmmss'), '.parquet')若你在Azure Logic Apps(消耗计划)或ADF管道中使用:
先确认是否存在中文标点(比如引号误用),其次检查表达式是否处于支持函数的上下文(比如不能在静态文本框直接写,需切换到表达式模式)。若仍报错,可尝试清空表达式重新输入,避免隐藏的特殊字符干扰。
内容的提问来源于stack exchange,提问作者lifeofthenoobie
相关产品推荐
相关产品推荐

