Azure Data Factory数据流合并文件后上传FTP遇问题求助
解决Azure Data Factory数据流无法直接上传文件至FTP的可行方案
方案1:通过ADLS Gen2/Blob存储中转,用复制活动上传到FTP
- 数据流阶段:将合并后的制表符分隔文件输出到Azure Data Lake Storage Gen2或Azure Blob Storage(这两者是数据流支持的接收器类型)
- 管道阶段:添加一个复制活动,源数据集选择刚才生成的存储文件,接收器数据集配置为FTP服务器
- 配置细节:确保FTP数据集的连接参数(服务器地址、端口、账号密码/SSH密钥)正确,文件格式设置为
DelimitedText并指定制表符作为分隔符
方案2:用Azure Function作为中间处理层
- 数据流输出:先将合并文件写入Blob存储
- 触发与上传:创建Blob触发的Azure Function(支持Python/C#等语言),当合并文件生成时自动触发,通过FTP客户端库(如Python的
ftplib)读取Blob文件并上传至目标FTP服务器 - 权限配置:确保Function有Blob存储的读取权限,以及FTP服务器的访问权限
方案3:借助逻辑应用完成FTP上传
- 数据流输出:将合并文件保存到Blob存储
- 逻辑应用配置:创建逻辑应用,添加「当Blob存储中添加或修改文件时」的触发器,再添加「FTP - 上传文件」动作,配置FTP连接和目标路径,自动完成文件上传
注意事项
- 中转存储(ADLS/Blob)需配置正确的访问权限,确保ADF、Function或逻辑应用能正常读写
- FTP连接时注意区分主动/被动模式,避免网络防火墙或安全组阻断连接
- 优先手动验证FTP连接有效性(比如用FTP客户端上传测试文件),再集成到自动化流程中
内容的提问来源于stack exchange,提问作者Vipina K
相关产品推荐
相关产品推荐

