如何将Azure blob复制到本地Linux服务器
使用Logic App将Azure Blob复制到Linux服务器的实现方案
你之前在Windows侧常用的本地数据网关 + 文件系统连接器方案,在Linux侧可以通过两种适配方式实现,不需要重构核心逻辑:
方案1:复用现有文件系统连接器逻辑,最小改造成本
该方案通过在Linux上搭建SMB共享,完全兼容你现有Windows场景的Logic App配置:
- 第一步:在Linux服务器配置SMB共享
- 安装Samba依赖:
Debian/Ubuntu系执行:sudo apt install samba -y
RHEL/CentOS系执行:sudo dnf install samba -y - 创建Blob存储目标目录并配置权限:
mkdir -p /srv/blob_sync && chmod 770 /srv/blob_sync - 编辑Samba配置文件
/etc/samba/smb.conf,末尾追加如下内容:[blob_share]
comment = Blob sync target directory
path = /srv/blob_sync
browseable = no
read only = no
guest ok = no
valid users = 你的Linux登录账号 - 为Samba设置账号密码:
sudo smbpasswd -a 你的Linux登录账号 - 重启服务并放行防火墙:
sudo systemctl restart smbd nmbd
对应ufw防火墙执行sudo ufw allow samba,firewalld/iptables按规则放行即可
- 安装Samba依赖:
- 第二步:Logic App侧直接复用原有配置,仅修改目标路径为
\\Linux服务器IP\blob_share,认证信息填写刚才设置的Samba账号密码即可。
方案2:使用SFTP-SSH连接器,更符合Linux原生操作习惯
该方案不需要额外安装Samba服务,安全性和兼容性更高:
- 提前确认Linux服务器已开启SSH服务,同步用的账号拥有目标目录的读写权限
- 在Logic App中替换原有文件系统连接器的写文件动作,添加SFTP - SSH连接器的「创建文件」动作
- 配置SFTP连接参数:
- 主机地址:Linux服务器的公网/内网IP(和数据网关同内网优先填内网IP)
- 端口:默认22,自定义端口填对应值
- 认证方式可选密码或SSH私钥,根据你的安全规则选择
- 若Linux服务器在内网无公网IP,直接勾选「使用本地数据网关」即可
- 配置文件参数:
- 目标文件夹路径:填Linux侧绝对路径,比如
/home/yourname/blob_sync - 文件名、文件内容直接复用之前Blob触发器的输出参数即可
- 目标文件夹路径:填Linux侧绝对路径,比如
- 保存后测试运行即可完成配置。
通用注意事项
- 内网场景下需要确认本地数据网关和Linux服务器之间的对应端口(SMB用445、SFTP用22)互通,无ACL限制
- 大于100MB的文件建议开启Logic App的分块上传配置,避免同步超时
- 同步用的账号仅开放目标目录的读写权限,避免过度授权带来的安全风险
内容的提问来源于stack exchange,提问作者Rishikesh Darwade
相关产品推荐
相关产品推荐

