5

我正在尝试将一些 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) 错误请求。

无法在指定时间内验证复制源。

请求编号:

时间:2016-04-01T19:33:01.0527460Z

两个存储帐户之间的唯一区别是一个是标准的,而另一个是高级的。

任何帮助将不胜感激!

4

3 回答 3

2

根据您的描述,您正在尝试将块 Blob 从源帐户复制到目标帐户中的页面 Blob,这在 Azure 存储服务和 AzCopy 中不受支持。

要解决此问题,您可以先使用 AzCopy 将块 Blob 从源帐户下载到本地文件系统,然后使用选项 /BlobType:Page 将它们从本地文件系统上传到目标帐户(此选项仅在从本地上传时有效到斑点)。

于 2016-04-04T01:53:05.117 回答
1

高级存储仅支持页 blob。请确认您正在将页 blob 从标准存储帐户复制到高级存储帐户。此外,将 BlobType 参数指定为“page”,以便将数据作为页 blob 复制到目标高级存储帐户中。

于 2016-04-01T23:47:52.537 回答
0

根据描述,我假设您的源 blob 是块 blob。Azure 的“异步复制 Blob”进程(AzCopy 将其用作默认方法)保留 Blob 类型。也就是说,您无法通过异步复制 blob 将 blob 类型从 Block 转换为 Page。

相反,您可以使用“/SyncCopy”选项和“/BlobType:page”参数再次尝试 AzCopy 吗?这可能有助于将目标 blob 类型更改为 Page。

(如果这不起作用,只有其他解决方案是先下载 blob,然后使用“/BlobType:page”上传)

于 2016-04-02T21:59:42.153 回答