我正在开发一个 Azure 数据工厂数据流管道,其中有一个接收器事件。接收器中的一列包含格式为“2023-07-19_diane_12345.csv”的文件名信息。我想使用一种模式从文件名中提取特定数据,并根据以下模式 yyyy/mm/dd 创建文件夹。
我尝试在表达式中使用 substring 和 lastIndexOf 函数,但它没有按预期工作。 下面的参数包含文件名
在 SINK 事件中,我尝试使用表达式生成器来完成该工作,但它说未找到列。
我猜我正在构建的表达式似乎是针对 CopyActivity 而不是针对 Dataflow 的。还有其他方法可以动态执行作业并创建文件夹吗?
管道看起来像这样
还有接收器设置:
最佳答案
在派生列中添加具有以下表达式生成器的列
replace(substring(fileName ,0, 10),"-","/")
这里fileName
是存储文件名的列。
按如下所述配置接收器设置:
- 文件名选项:
Name folder as column data
- 列数据:
<created column>
该文件将存储在yyyy/mm/dd
中格式如下:
关于azure - 在 Azure 数据工厂 DataFlow 中根据文件名创建动态文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76753693/