有什么方法可以重命名 windows azure 中的 blob 容器名称?
问问题
28086 次
5 回答
26
现在,您可以使用 Microsoft 的“ Microsoft Azure Storage Explorer ”(版本 0.8.3 之后)重命名容器。您还可以使用此工具重命名 azure 表和文件共享。请参阅此处的发行说明。
请注意,此功能在使用过程中有以下免责声明。
通过复制到新名称,然后删除源项目来重命名。重命名 Blob 容器当前会丢失容器的属性和元数据,如果有很多 Blob,可能需要一段时间。
因此,这并不是幕后的实际重命名,并且会产生读/写/交易成本。
于 2016-08-16T11:04:22.753 回答
23
更新
请参阅下面Nuri Tasdemir的回答。
不可以。不能重命名 Windows Azure 中的 blob 容器。您可以做的是使用新名称创建一个新的 Blob 容器,并将 Blob 从旧 Blob 容器复制到新容器。复制 Blob 后,您可以删除旧的 Blob 容器。请注意,如果您在 Cloud 中执行复制 blob,则此操作是异步的。因此,请确保在删除 blob 容器之前完全复制 blob。
于 2012-09-11T13:22:36.893 回答
-3
此 RenameBlob 方法将允许您重命名 Azure 容器中的文件夹或文件。
- 相册1/image1.jpg ->相册2 / image1.jpg
- 专辑 1/image1.jpg -> 专辑 1/ image2.jpg
高温高压
public class AzureStorageService
{
readonly CloudStorageAccount _storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
public void RenameBlob(string oldName, string newName)
{
var blobClient = _storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference("MyContainer");
var blobs = container.GetDirectoryReference(oldName).ListBlobs();
foreach (var item in blobs)
{
string blobUri = item.Uri.ToString();
var oldBlob = container.GetBlockBlobReference(blobUri);
var newBlob = container.GetBlockBlobReference(blobUri.Replace(oldName, newName));
newBlob.StartCopyFromBlob(oldBlob);
oldBlob.Delete();
}
}
}
于 2013-10-03T13:17:12.197 回答