使用Azure数据工厂复制文件并放置已复制文件的csv

问题描述

我正在尝试在Azure数据工厂管道中实现以下流程:

  1. 将文件从SFTP复制到本地文件夹。
  2. 在本地文件夹中创建一个用逗号分隔的文件,其中包含文件及其列表 大小。

第一步很简单,使用“复制数据”步骤,将“ SFTP”作为源,将“文件系统”作为接收器。

正在复制文件,但是在此步骤的输出中,我看不到任何文件信息。

我也看不到使用上一步中的数据创建文件的选项。

也许我使用了错误的技术? 我使用Azure Data Factory的原因之一是因为集成运行时,它使我们可以使用单个固定IP来连接到外部SFTP。 (更轻松的防火墙配置)

是否可以实施第2步?

感谢您的见解!

解决方法

没有内置功能可以实现这一目标。

您需要将ADF与其他服务一起使用,我想您首先要使用azure函数检查文件,然后再进行复制。

结构应如下所示:

enter image description here

您可以获取文件的大小并将其保存到csv文件中:

获取文件大小(python):

How to fetch sizes of all SFTP files in a directory through Paramiko

并使用熊猫将邮件另存为csv(python):

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html

Writing a pandas DataFrame to CSV file

azure函数的简单http触发器(python):

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=python

(将处理逻辑放在azure函数的主体中。基本上,您可以在azure函数的主体中做任何您想做的事情,除了图形界面和一些不受支持的事情。您可以选择熟悉的语言,但总之,ADF中没有一个功能可以满足您的想法。)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...