我正在尝试使用AzCopy从Azure存储帐户中的容器下载blob。每当我发出命令时,它立即返回并说"完成0个文件中的0个。"
容器是私有的。我正在使用Windows Azure存储命令行,该命令行包含在包含AzCopy的Windows Azure存储工具下载中。
我可以使用AzCopy成功上传文件,没有任何问题。以下是我的命令示例。
上传(复制)到Azure存储 - 此工作
AzCopy c:\temp https://<myaccount>.blob.core.windows.net/<mycontainer> /destkey:<mykey> /V:C:\temp\logs\azcopy.log
从Azure存储下载(复制) - 这不起作用
AzCopy https://<myaccount>.blob.core.windows.net/<mycontainer> c:\temp\meb /sourceKey:<mykey> /V:C:\temp\logs\azcopy.log
我知道我的密钥是正确的,因为上传工作没有问题。它认为容器中没有文件,但如果我登录Azure门户,我可以看到-mycontainer中的文件 - 它位于-myaccount中。
我无法在网上找到任何有类似问题的人的详细信息。我错过了什么?
AzCopy文件夹文件和版本
答案 0 :(得分:5)
尝试通过指定/S
参数来下载blob。所以你的下载命令是:
AzCopy https://<myaccount>.blob.core.windows.net/<mycontainer> c:\temp\meb /sourceKey:<mykey> /S /V:C:\temp\logs\azcopy.log
来自文档:
/S Recursive copy.
In recursive copy mode the source and destination
are treated as a directory (file-system) or
as a prefix string (blob storage).
这应该可以解决问题。
答案 1 :(得分:0)
使用AzCopy非常简单。从https://azure.microsoft.com/en-us/documentation/articles/storage-use-azcopy/下载最新版本 并在azcopy类型: 在存储帐户中复制blob:
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer1 /Dest:https://myaccount.blob.core.windows.net/mycontainer2 /SourceKey:key /DestKey:key /Pattern:abc.txt
将blob复制到存储帐户:
AzCopy /Source:https://sourceaccount.blob.core.windows.net/mycontainer1 /Dest:https://destaccount.blob.core.windows.net/mycontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt
从辅助区域复制blob
如果您的存储帐户启用了读访问地理冗余存储,则可以从辅助区域复制数据。
将blob从辅助帐户复制到主帐户:
AzCopy /Source:https://myaccount1-secondary.blob.core.windows.net/mynewcontainer1 /Dest:https://myaccount2.blob.core.windows.net/mynewcontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt
要恢复任何中断操作,请指定/ Z选项或递归操作指定/ S