You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Azure Data Factory中生成包含指定文件名列表的CSV文件

如何在Azure Data Factory中生成包含指定文件名列表的CSV文件

我来帮你搞定这个需求!你已经通过Filter活动拿到了目标文件名的数组,接下来只需要3个简单步骤,就能生成带FILE_NAME列的CSV文件啦:

  • 第一步:用Select活动提取文件名,整理成CSV结构
    在Filter活动后面加一个Select活动,在它的映射配置里,设置列名为FILE_NAME,对应的取值选item().name(这里的name就是你Filter输出对象里的文件名字段)。配置完成后,Select活动的输出会变成这样的数组:

    [{"FILE_NAME": "file1.csv"}, {"FILE_NAME": "file2.csv"}, ...]
    

    这就把原始的对象数组转换成了符合CSV列要求的结构。

  • 第二步:用Set Variable活动生成完整的CSV字符串
    先创建一个字符串类型的变量(比如叫csvContent),然后添加一个Set Variable活动,把变量值设置成下面的表达式:

    @concat('FILE_NAME', '\n', join(xpath(activity('Select活动的名称').output, '//FILE_NAME/text()'), '\n'))
    

    要是Select输出的每个对象只有FILE_NAME字段,也可以用更简洁的写法:

    @concat('FILE_NAME', '\n', join(activity('Select活动的名称').output.value, '\n'))
    

    这个表达式会先加上表头FILE_NAME,然后换行,再把所有文件名用换行符连接起来,最终得到完整的CSV内容字符串。

  • 第三步:用Copy Data活动把CSV字符串写入Blob容器
    配置Copy Data活动:

    • 源选择内联数据集(Inline),类型选CSV,然后在“内联数据”里直接引用刚才生成的csvContent变量;
    • 目标选择你的Blob容器数据集,指定好要生成的CSV文件路径(比如output/filename_list.csv);
    • 注意在源的CSV设置里,取消勾选“第一行作为标题”(因为我们已经自己加了表头),或者根据实际情况调整。

这样运行 pipeline 之后,你的Blob容器里就会生成一个包含所有文件名、带FILE_NAME列的CSV文件啦!如果遇到文件名有特殊字符的情况,你可能需要在表达式里做简单的转义处理,但大多数场景下上面的步骤就足够用了。

内容来源于stack exchange

火山引擎 最新活动