【问题标题】:Failed to delete storage account in portal.azure.com无法删除 portal.azure.com 中的存储帐户
【发布时间】:2016-03-13 05:59:48
【问题描述】:

我删除了虚拟机及其关联的云服务和虚拟网络,但无法删除其存储帐户。

我收到了这个错误:

无法删除存储帐户信息。无法删除存储帐户“messega”:

'存储帐户信息有一些活动图像和/或磁盘,例如messega-messega-os-1449504882530。确保在删除此存储帐户之前删除这些映像和/或磁盘。'。

我转到存储帐户(经典)>>服务--Blobs>>容器--vhds 并尝试删除存储容器'vhds':messega-messega-os-1449504882530 但我收到了这个新错误:

无法删除存储容器“vhds”。错误:“容器当前存在租约,请求中未指定租约 ID。”

【问题讨论】:

    标签: azure storage account azure-virtual-machine


    【解决方案1】:

    可以通过以前版本的门户删除磁盘 manage.windowsazure.com 虚拟机 -> 磁盘

    【讨论】:

    • 以前的版本现在重定向到 portal.azure.com。
    【解决方案2】:

    这是一个常见的错误。您的 vhd 在此存储帐户中,这就是为什么您无法删除它,除非删除 vhd。

    https://stackoverflow.com/a/10969013/1384539

    【讨论】:

    • 嗨蒂亚戈!感谢您的回复我去了存储帐户(经典)>>服务--Blobs>>容器--vhds 并尝试删除存储容器'vhds':messega-messega-os-1449504882530 但我收到了这个新错误:失败删除存储容器“vhds”。错误:“容器当前存在租约,请求中未指定租约 ID。”
    • 是的,您正在尝试先删除 blob,但您需要删除磁盘,然后才能删除 blob。 blogs.msdn.com/b/mast/archive/2013/02/05/…
    • 您是对的,但虚拟机部分中没有“磁盘”部分,带有这个新界面 portal.azure.com。在上一个界面中:所有磁盘资源都可以在管理门户的以下位置找到:虚拟机 -> 磁盘###任何想法可以在哪里?
    • 不能使用以前版本的传送门吗?另一种选择,从powershell中删除msdn.microsoft.com/en-us/library/azure/dn495255.aspx
    【解决方案3】:

    如果 .vhd 上的租约一直困扰着您,您可以使用 Azure Management Studio 等工具来破坏租约或使用代码来破坏它:

            var azureStorageConnectionString = ConfigurationManager.AppSettings["AzureStorage.ConnectionString"];
            var blobFileToDelete= ConfigurationManager.AppSettings["BlobFileToDelete.Name"];  
    
            var account = CloudStorageAccount.Parse(azureStorageConnectionString);
    
            // Create the blob client using the Accounts above
            var client = account.CreateCloudBlobClient();
            // Retrieve reference to a previously created container
            // Rename "vhds" as needed.  Can be used to read from any container.
            var container = client.GetContainerReference("vhds");
    
            var blob = container.GetBlockBlobReference(blobFileToDelete);
    
            if (blob.Properties.LeaseStatus==Microsoft.WindowsAzure.Storage.Blob.LeaseStatus.Locked) 
            { 
                try 
                { 
                    Console.WriteLine("Breaking leases on {0} blob.",blobFileToDelete); 
                    // Create Timespan to allow the Lease to remain, in this case 1 second
                    TimeSpan breakTime = new TimeSpan(0, 0, 1);
    
                    blob.BreakLease(breakTime, null, null, null); 
                    Console.WriteLine("Successfully broken lease on {0} blob.",blobFileToDelete); 
                } 
                catch (StorageException ex ) 
                {
                    Console.WriteLine(ex.Message);
                    Console.WriteLine("Failed to break lease on {blobName} blob.", blobFileToDelete); 
                } 
            } 
            else 
            {
                Console.WriteLine("The {0} blob's lease status is unlocked.", blobFileToDelete); 
            } 
            Console.ReadLine();
    

    希望这会有所帮助 最好的祝福 斯蒂芬

    【讨论】:

      【解决方案4】:

      您需要使用 Azure 存储资源管理器工具并检查容器的内容,大多数情况下它不会为空

      【讨论】:

        【解决方案5】:

        我尝试了所有这些方法,但都没有运气。我的答案是下载http://storageexplorer.com/,然后我可以通过这个工具删除必要的文件。

        【讨论】:

          猜你喜欢
          • 2014-03-13
          • 2016-07-30
          • 1970-01-01
          • 2019-07-29
          • 1970-01-01
          • 2020-12-06
          • 2017-06-20
          • 1970-01-01
          相关资源
          最近更新 更多