【发布时间】:2017-01-11 23:11:03
【问题描述】:
我遇到了一个问题,我试图将 CloudPageBlob 复制到另一个 Azure 订阅中的存储帐户。出于某种原因,当我调用复制时,我不断收到 404 错误:
CloudBlobContainer destContainer;
CloudBlob sourceBlob;
string destBlobName;
var sourcePageBlob = sourceBlob as CloudPageBlob;
if (sourcePageBlob != null)
{
var destBlob = destContainer.GetPageBlobReference(destBlobName);
await destBlob.StartCopyAsync(sourcePageBlob, AccessCondition.GenerateIfExistsCondition(), AccessCondition.GenerateEmptyCondition(), new BlobRequestOptions(), new OperationContext());
return destBlob;
}
调用返回{"The remote server returned an error: (404) Not Found."}
但是,如果我调用sourcePageBlob.Exists(),它会返回true。
【问题讨论】:
-
你的 destContainer 存在吗? 404错误可能是由于这个原因。此外,由于您指定了 AccessCondition.GenerateIfExistsCondition(),我认为 destBlob 也需要存在。为什么不删除此访问条件?
-
能否请您检查源容器ACL?是
Private吗? -
是的,源容器是私有的。那应该有关系吗?我有一个访问密钥,并且能够对源容器执行操作。