如何解决'lastindexof'是一个原语,并且不支持Azure Data Factory中的嵌套属性

问题描述 投票:1回答:1

我正在尝试在数据工厂中获取现有文件名,并使用动态内容对其进行重新排列,以便在文件名后附加时间戳。但是我似乎收到以下错误:

位置172'lastindexof'是基元,不支持嵌套属性。

似乎我无法将计算放入其他函数的参数中,这确实是限制性的。有什么解决办法吗?我是否应该查看Data Factory中的另一个组件来更轻松地实现这一目标?

请参见下面的动态内容表达式:

@concat(substring(item().name, 0, lastindexof(item().name, '.')), '_', formatDateTime(utcnow(),'yyyyMMddhhmmss'), '.', substring(item().name, lastindexof(item().name, '.') + 1, length(item().name) - lastindexof(item().name, '.') - 1))

我想要实现的基本测试是将输入文件名abc.csvxyz.xlsx转换为abc_20200213131301.csvxyz_20200213131301.xlsx

azure azure-data-factory-2
1个回答
0
投票

您正在尝试的事情会起作用,我已经做到了,但是“(”和“,”]太多了>

您可以尝试使用2个Set变量activity和Split函数实现。

第一活动

将拆分功能与:@split(variables('FileName'),'。')]一起使用>

第二活动

@ concat(variables('SplitFileName')[0],'_',formatDateTime(utcnow(),'yyyyMMddhhmmss'),'。',variables('SplitFileName')1

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.