簡體   English   中英

無法從天藍色存儲中刪除Blob

[英]failure deleting blobs from azure storage

我正在嘗試從容器中刪除Blob。 DeleteIfExits返回true,但是什么也沒有發生。 我使用Azure的門戶檢查容器,但仍然可以看到斑點。

我的代碼有什么問題?

   private static void DeleteAllFilesWithSameName(String filePath, String filename, CloudBlobContainer container)
    {

        String filenameWidthoutExtension = Path.GetFileNameWithoutExtension(filename);

        try
        {
            IEnumerable<IListBlobItem> blobs = container.ListBlobs(filenameWidthoutExtension, true);


            if (blobs.Count<IListBlobItem>() > 0)
            {
                List<string> blobNames = blobs.OfType<CloudBlockBlob>().Select(b => b.Name).ToList();

                foreach (String blobName in blobNames)
                {
                    CloudBlockBlob blockBlob = container.GetBlockBlobReference(filename);

                    bool isDeleted = blockBlob.DeleteIfExists();

                }
            }
        }
        catch (Exception e)
        {
            Console.Write(e.Data);
        }


    }

我相信問題出在代碼的邏輯上:

CloudBlockBlob blockBlob = container.GetBlockBlobReference(filename);

以上行不應該嗎?

CloudBlockBlob blockBlob = container.GetBlockBlobReference(blobName);

請嘗試通過將代碼更改為:

                foreach (String blobName in blobNames)
                {
                    CloudBlockBlob blockBlob = container.GetBlockBlobReference(blobName);

                    bool isDeleted = blockBlob.DeleteIfExists();

                }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM