如何通过Azure Data Factory连接Azure Linux虚拟机并迁移数据到Azure DataLake Gen2
要让Azure Data Factory (ADF) 读取Azure Linux虚拟机内的本地文件,必须通过自托管集成运行时(SHIR) 作为代理实现,具体操作步骤如下:
步骤1:部署自托管集成运行时
- 进入ADF管理界面,依次打开「集成运行时」-「新建」,选择「自托管」类型,自定义运行时名称后确认,页面会生成用于注册的认证密钥,先保存该密钥备用。
- 你可以选择直接在目标Linux虚拟机上部署SHIR,也可以在和虚拟机同网络互通的其他主机上部署:
- 若在Linux虚拟机上直接部署:先确保虚拟机已开放到ADF服务的出站访问权限(无需开放入站端口),下载对应Linux版本的SHIR安装包后执行安装:
# 解压安装包 sudo tar -xzf integration_runtime.tar.gz cd IntegrationRuntime # 执行安装脚本 sudo ./install.sh # 注册到ADF,替换为你之前保存的认证密钥 sudo ./dmgcmd -RegisterKey <ADF生成的SHIR认证密钥> - 若在其他主机部署SHIR,确保该主机和目标Linux虚拟机网络互通,能访问到虚拟机的SSH服务端口即可。
- 若在Linux虚拟机上直接部署:先确保虚拟机已开放到ADF服务的出站访问权限(无需开放入站端口),下载对应Linux版本的SHIR安装包后执行安装:
步骤2:创建指向Linux虚拟机的链接服务
有两种常用的访问方式可选:
方式A:通过SFTP协议访问(推荐)
- 先确认Linux虚拟机已开启SSH服务,创建一个仅拥有zip文件存储目录只读权限的访问账号,避免权限过度泄露。
- 进入ADF「链接服务」新建页面,搜索并选择「SFTP」类型,配置参数如下:
- 「通过集成运行时连接」选择你刚才部署好的自托管SHIR
- 填写Linux虚拟机的内网IP/主机名、SSH端口(默认22)
- 选择认证方式:可使用账号密码,也可上传SSH私钥认证
- 点击「测试连接」,确认连通后保存链接服务即可。
方式B:直接读取本地文件系统
如果你直接在目标Linux虚拟机上部署了SHIR,可以选择「文件系统」类型的链接服务,直接填写虚拟机上zip文件所在的本地绝对路径,配置对应路径的读取权限即可,不需要额外开启SSH服务。
步骤3:后续同步配置验证
连接成功后,你就可以在复制活动的源端选择该链接服务,指定zip文件的存储路径,Sink端配置Azure Data Lake Gen2的链接服务,按需开启解压选项即可完成同步。
注意事项
- 自托管集成运行时需要保持运行状态,若运行时离线会导致同步任务失败
- 访问虚拟机的账号遵循最小权限原则,仅授予目标目录的只读权限即可
- 若出现连接失败问题,优先排查自托管SHIR到虚拟机的网络连通性、端口放通规则、账号权限配置是否正确
内容的提问来源于stack exchange,提问作者user2841795
相关产品推荐
相关产品推荐

