我正在尝试将一些blob文件从一个存储帐户复制到另一个存储帐户。我正在使用AzCopy来实现这一目标。
此过程适用于在同一存储帐户中的容器之间复制文件,但不能在不同存储帐户之间复制文件。
我发出的命令是:
AzCopy /Source:https://<storage_account1>.blob.core.windows.net/<container_name1>/<path_to_desired_blobs> /Dest:https://<storage_account2>.blob.core.windows.net/<container_name2>/<path_to_store>/ /SourceKey:<source_key> /DestKey:<dest_key> /Pattern:<some_pattern> /S
我得到的错误如下:
远程服务器返回错误:(400)错误请求。
无法在指定时间内验证复制源。
的requestId:
时间:2016-04-01T19:33:01.0527460Z
两个存储帐户之间的唯一区别是,一个是标准,而另一个是高级。
任何帮助将不胜感激!
答案 0 :(得分:2)
根据您的说明,您尝试将源Blob从源帐户复制到目标帐户中的Page Blob,Azure Storage Service和AzCopy不支持。
要解决此问题,您可以先使用AzCopy将Block Blobs从源帐户下载到本地文件系统,然后使用选项/ BlobType:Page将其从本地文件系统上传到目标帐户(此选项仅在从本地上传到blob)。
答案 1 :(得分:1)
高级存储仅支持页面blob。请确认您正在将页面blob从标准存储帐户复制到高级存储帐户。另外,将BlobType参数指定为&#34; page&#34;以将数据作为页面blob复制到目标高级存储帐户。
答案 2 :(得分:0)
从描述中,我假设你的源blob是一个块blob。 Azure的“异步复制Blob”过程(由AzCopy用作默认方法)保留blob类型。也就是说,您无法通过异步复制blob将blob类型从Block转换为Page。
相反,您可以使用“/ SyncCopy”选项和“/ BlobType:page”参数再次尝试AzCopy吗?这可能有助于将目标blob类型更改为Page。
(如果这不起作用,只有其他解决方案是首先下载blob,然后使用“/ BlobType:page”上传它)