Windows系统能否同时安装两个AzCopy版本?表存储复制遇阻
AzCopy 10.x与7.3版本共存及表存储复制解决方案
当前环境
已安装的AzCopy版本:
>azcopy --version azcopy version 10.23.0
问题场景
为存储账户生成SAS以在账户间复制数据,但执行表服务复制时出错:
执行命令:
azcopy copy "table_sas_url+token" "destination_table_sas_url+token" --recursive=true
错误信息:
INFO: The parameters you supplied were Source: 'https://srcstorage.table.core.windows.net/ ?se=2024-03-03T14%3A02%3A28Z&sig=-REDACTED-&sp=rwdlacu&spr=https&srt=sco&ss=t&st=2024-03-03T06%3A02%3A28Z&sv=2022-11-02' of type Local, and Destination: 'https://deststorage.table.core.windows.net/?se=2024-03-03T14%3A03%3A06Z&sig=-REDACTED-&sp=rwdlacu&spr=https&srt=sco&ss=t &st=2024-03-03T06%3A03%3A06Z&sv=2022-11-02' of type Local INFO: Based on the parameters supplied, a valid source-destination combination could not automatically be found. Please check the parameters you supplied. If they are correct, please specify an exact source and destination type using the --from-to switch. Specified to nudge AzCopy when resource detection may not work (e.g. piping/emulator/azure stack); Valid FromTo are pairs of Source-Destination words (e.g. BlobLocal, BlobBlob) that specify the source and destination resource types. All valid FromTos are: BlobBlob, BlobBlobFS, BlobFSBlob, BlobFSBlobFS, BlobFSFile, BlobFSLocal, BlobFile, BlobLocal, BlobPipe, FileBlob, FileBlobFS, FileFile, FileLocal, FilePipe, GCPBlob, LocalBlob, LocalBlobFS, LocalFile, PipeBlob, PipeFile, S3Blob failed to parse user input due to error: the inferred source/destination combination could not be identified, or is currently not supported
已知AzCopy 10.x不支持表存储,微软推荐使用AzCopy 7.3处理表服务复制。
解决方案
1. Windows系统中同时保留两个AzCopy版本
完全可以实现版本共存,操作步骤如下:
- 下载AzCopy 7.3安装包,解压到独立目录(例如
C:\AzCopy73) - 不要将该目录添加到系统
PATH环境变量,避免与10.x版本冲突 - 使用时通过完整路径调用7.3版本,示例命令:
C:\AzCopy73\AzCopy.exe /Source:https://srcstorage.table.core.windows.net/ /Dest:https://deststorage.table.core.windows.net/ /SourceSAS:"<源表SAS令牌>" /DestSAS:"<目标表SAS令牌>" /Copy:All - 日常使用AzCopy 10.x时,直接输入
azcopy即可调用
2. 替代方案
若不想维护两个版本,可选择以下方式:
- Azure PowerShell模块:通过
Get-AzTableRow和Add-AzTableRowcmdlet实现表数据复制,适合小规模数据场景 - Azure Data Factory:支持大规模、周期性的表存储数据复制,提供可视化配置和任务调度能力
- 自定义脚本:使用Azure Storage SDK(.NET/Python等)编写脚本,读取源表数据并写入目标表,灵活性更高
内容的提问来源于stack exchange,提问作者Vaishnavi Vaishu
相关产品推荐
相关产品推荐

