使用AzCopy同步VM文件夹到Azure Blob存储时遇资源类型不匹配错误
AzCopy同步本地文件夹到Azure Blob报错的解决方法
1. 修复资源类型不匹配问题
- AzCopy的
sync操作要求源与目标资源类型一致:本地文件夹属于文件系统类型,若目标为Blob容器,需在容器URL末尾添加/,明确指定同步到容器下的虚拟根目录(否则AzCopy会将容器识别为单个Blob资源,触发类型不匹配错误)。 - 修正后的命令示例:
azcopy.exe sync "C:\AzCopyTest" "https://xxx.blob.core.windows.net/xxx/**SAS Token**/" --delete-destination=true
2. 解决认证提示问题
- 检查SAS Token格式:确保Token完整,URL拼接正确——若容器URL末尾无
?,需在SAS Token前添加?;若已有?,直接拼接Token即可。正确格式示例:https://xxx.blob.core.windows.net/xxx?sv=2023-11-03&ss=b&srt=sco&sp=rwdlacupi&se=2024-10-20T00:00:00Z&st=2024-10-16T00:00:00Z&spr=https&sig=xxxxxx - 验证SAS Token权限:因使用
--delete-destination=true,Token必须包含**读取(r)、写入(w)、删除(d)**权限,生成SAS时需勾选对应选项,且有效期覆盖当前操作时间。 - 排查网络连通性:在VM中访问带SAS Token的Blob容器URL,确认能正常查看容器内容,排除防火墙或网络策略限制。
3. 额外注意事项
- 本地文件夹的多层子目录会被AzCopy自动映射为Blob容器下的虚拟目录,无需额外配置。
- 确保使用最新版AzCopy:旧版本可能存在兼容性问题,可通过
azcopy --version查看版本,替换为官方最新版本后重试。
内容的提问来源于stack exchange,提问作者Java
相关产品推荐
相关产品推荐

