【发布时间】:2014-11-16 23:22:46
【问题描述】:
我正在尝试将所有 blob 复制到不同的存储:
CloudBlobClient srcblobClient = sourceStorageAccount.CreateCloudBlobClient();
CloudBlobClient targetBlobClient = targetStorageAccount.CreateCloudBlobClient();
foreach (CloudBlobContainer cont in srcblobClient.ListContainers())
{
foreach (IListBlobItem srcBlob in cont.ListBlobs(useFlatBlobListing: true))
{
var targetContainer = targetBlobClient.GetContainerReference(cont.Name);
targetContainer.CreateIfNotExists();
Uri thisBlobUri = srcBlob.Uri;
var serverBlob = srcblobClient.GetBlobReferenceFromServer(thisBlobUri);
ICloudBlob targetBlob = targetContainer.GetBlobReferenceFromServer(serverBlob.Name);
targetBlob.StartCopyFromBlob(thisBlobUri);
}
}
我可以看到正在调用 blob 和复制方法的列表targetBlob.StartCopyFromBlob(thisBlobUri);
但是复制实际上并没有发生。有什么想法吗?
附:我正在使用 Azure Storage SDK 4.3,目标存储是开发存储。
编辑 2:
对于上述代码的远程天蓝色存储副本工作正常。
但是,对于模拟存储,我在尝试创建容器时收到 400 BadRequest 错误: targetContainer.CreateIfNotExists();
我的模拟存储版本是3.0,好像azure SDK和模拟器版本有冲突。
哪个版本的存储客户端库适用于存储 模拟器3.0?
【问题讨论】: