18

有什么方法可以重命名 windows azure 中的 blob 容器名称?

4

5 回答 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

我在 storage explorer v1.15.1 中找不到重命名功能,但我确实使用了 clone 选项来创建副本并删除旧容器。

屏幕截图 Microsoft Azure 存储资源管理器

于 2020-09-16T09:38:14.687 回答
1

不可以。不能重命名 Windows Azure 中的 blob 容器。

从旧存储复制到新存储的代码

AzCopy /来源:https : //oldstorage.blob.core.windows.net/oldstorage /Dest:https://newstorage.blob.core.windows.net/newstorage /SourceKey: sourcekey /DestKey:destkey /S /XO

于 2018-11-14T04:15:02.180 回答
-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 回答