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

跨Azure账户复制容器数据:方案选择及问题咨询

跨Azure存储账户容器复制数据的最优方案:Az Copy

方案选择理由

  • 适配IP限制场景:Az Copy可在源容器允许的IP环境(比如本地机器IP在白名单内)直接运行,无需额外配置服务IP,完美匹配源容器的IP访问限制。
  • 权限匹配度高:源容器仅需只读权限,用只读SAS令牌即可读取数据;目标容器拥有完全权限,搭配读写SAS令牌或账户密钥就能完成写入,权限适配无压力。
  • 操作门槛低:命令行形式,新手易上手,官方提供明确的跨账户复制命令示例,无需复杂的服务部署或代码编写。

排除其他方案的原因

  • Data Factory:你遇到的403错误,核心原因是DF托管运行器的IP不在源容器白名单内。若要使用DF,需部署自托管集成运行器并将其IP加入源白名单,配置流程繁琐,对新手不友好。
  • Azure Function:需要编写复制逻辑代码,还要将Function的IP加入源容器白名单,且你之前Python脚本的“资源未找到”问题(大概率是路径错误、权限不足或IP未被允许),Function同样会面临,额外的代码维护成本远高于Az Copy。

Az Copy快速操作步骤

  1. 生成源容器只读SAS令牌:在源存储账户的容器页面创建SAS,权限仅勾选「读取」,设置合理有效期。
  2. 生成目标容器读写SAS令牌:在目标存储账户的容器页面创建SAS,权限勾选「写入」「添加」等必要项。
  3. 执行复制命令:
azcopy copy "https://<源存储账户名>.blob.core.windows.net/<源容器名>?<源SAS令牌>" "https://<目标存储账户名>.blob.core.windows.net/<目标容器名>?<目标SAS令牌>" --recursive=true

注意:运行命令的设备IP必须在源容器的IP允许列表中,否则会触发403错误。

遗留问题解决建议

  • Data Factory 403错误:若坚持使用DF,需部署自托管集成运行器,将运行器所在设备的IP加入源容器白名单,再用该运行器创建跨账户链接服务。
  • Python脚本“资源未找到”:检查目标容器名称拼写、SAS令牌权限是否足够、运行脚本的设备IP是否被目标存储账户允许,同时确认代码中Blob路径是否正确(比如是否多了斜杠或拼写错误)。

内容的提问来源于stack exchange,提问作者shiva bahadur basnet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:52:21