You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SFTP将CSV文件从Microsoft Data Factory湖仓环境传输至外部服务器?

从Azure Data Factory湖仓通过SFTP传输CSV文件的实操步骤

1. 先配置两个核心链接服务(Linked Services)

1.1 湖仓源链接服务(以ADLS Gen2为例,湖仓场景常用)

  • 打开ADF Studio,左侧导航点「管理」→「链接服务」→「+ 新建」
  • 搜索「Azure Data Lake Storage Gen2」,点「继续」
  • 选配置方式:
    • 账户密钥模式:填存储账户名称、账户密钥,点击「测试连接」确认连通
    • 托管标识模式(更安全):先给ADF的托管标识添加存储账户的「存储Blob数据读取者」权限,再填写存储账户名称,测试连接

1.2 SFTP目标链接服务

  • 同样在链接服务页面,新建服务,搜索「SFTP」,点「继续」
  • 填写SFTP服务器地址、端口(默认22),选择认证方式:
    • 密码认证:直接输入用户名、密码
    • SSH密钥认证:上传私钥文件,有密钥密码则补充填写
  • 点击「测试连接」,确保能正常访问外部SFTP服务器

2. 创建对应数据集(Datasets)

2.1 湖仓侧CSV源数据集

  • 左侧导航点「数据」→「数据集」→「+ 新建」
  • 选择「Azure Data Lake Storage Gen2」→「CSV」,点「继续」
  • 关联之前创建的ADLS Gen2链接服务,选择CSV文件所在的容器、文件夹路径,配置文件格式(分隔符、编码、是否包含表头等)

2.2 SFTP侧目标数据集

  • 新建数据集,选择「SFTP」→「CSV」,点「继续」
  • 关联SFTP链接服务,设置目标文件夹路径(比如/target/csv_files/),格式配置与源数据集保持一致即可

3. 搭建数据传输管道

  • 左侧导航点「管道」→「+ 新建管道」
  • 在左侧活动面板搜索「复制数据」,拖拽到画布上
  • 配置复制活动:
    • 源标签:选择湖仓CSV数据集,批量传输可设置文件名筛选为*.csv,勾选「递归」读取子文件夹内容
    • 接收器标签:选择SFTP数据集,文件名可保留原名称,或用动态内容@concat(pipeline().RunId, '.csv')生成唯一文件名避免覆盖
    • 设置标签:根据文件大小调整并行复制数(大文件适当调高提升效率),配置错误处理规则(比如跳过损坏文件)

4. 测试与调度

  • 点击画布上方的「调试」按钮,运行管道,通过监控面板查看执行日志,确认文件传输成功
  • 如需定时执行,点击「添加触发器」→「新建/编辑」,设置调度规则(比如每日凌晨2点运行)

关键注意事项

  • 权限校验:确保ADF托管标识拥有湖仓存储的读取权限;若为公网SFTP,需将ADF的出站IP加入服务器白名单,或部署自托管集成运行时访问内部SFTP
  • 大文件优化:GB级CSV文件开启「分块复制」,调整并行数避免传输超时
  • 动态路径配置:需按日期分区传输时,可在数据集路径中使用@formatDateTime(utcNow(), 'yyyy/MM/dd')自动生成日期文件夹

内容的提问来源于stack exchange,提问作者Luciano Carvajal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 14:46:09