The specified blob does not exist - Shows in azure browser - but when I click download does not exist

the specified blob does not exist python
the specified container does not exist
azure blob 409
cannotverifycopysource
microsoft azure storage storageexception the specified resource does not exist
azure blob head 404
azure blob create if not exists
downloadtostreamasync the specified blob does not exist

I've uploaded some blobs to azure. They show in the browser when I log in, but when I attempt to download them I get following message:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>BlobNotFound</Code>
<Message>
The specified blob does not exist. RequestId:d3cd1a18-1e48-47bd-9985-4ab7e655eed2 Time:2013-09-19T15:02:16.4158548Z
</Message>
</Error>

Screenshot browsing (showing the blobs)

Screenshot showing what happens after I click download

I think I know why you're running into this issue. I believe its an issue with the portal. If you notice, the name of your blob is: Tommy French Toals.North Street.1250251 and it contains spaces. However if you look at the URL the name is coming as: Tommy%2520French%2520Toals.North%2520Street.1250251. Notice the presence of %2520. What portal software is doing is that it is performing URL encoding twice - first, it URL encodes space in the blob name to %20 and then again URL encodes the % sign to %25 and this is messing things up for you.

Just to be double sure, I uploaded a file which contains spaces in its name in my storage account and when I try to download the blob through the portal, it failed with the same error as yours. Then I created a SAS URI for the same blob using storage client library, and it worked perfectly fine. Here's the code I used for creating SAS URI:

        CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentials("myaccount", "myaccountkey"), true);
        var blobContainer = storageAccount.CreateCloudBlobClient().GetContainerReference("mycontainer");
        var blob = blobContainer.GetBlockBlobReference("this file has spaces in its name.txt");
        var sas = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
        {
            SharedAccessExpiryTime = DateTime.UtcNow.AddHours(1),
            Permissions = SharedAccessBlobPermissions.Read,
        });
        var sasUrl = blob.Uri.AbsoluteUri + sas;

Try downloading a file which does not contain spaces or any special characters in its name and it should work just fine.

StorageClientException: The specified blob does not exist. This is simple enough to check and you probably wouldn't have made it this is that you are behind a firewall that blocks outgoing requests to Azure Blob Storage. By default, the below 3 access levels will be presented. No public read access: The container and its blobs can be accessed only by the storage account owner.This is the default for all new containers.

Go and Edit container meta data on azure bolb storage. change access private to public. Azure blob storage container edit page

Hi @brendandixon , The error below show up from time to time in the waagent.​log Do you know what is causing the error, what's its impact and  Browse other questions tagged c# azure azure-storage azure-storage-blobs azure-table-storage or ask your own question. The Overflow Blog The Overflow #21: The way forward

check file name, its case sensitive. after correcting case it started working for me.

The specified blob does not exist. BlobOverwritten, Conflict (409), The blob has been recreated since the previous snapshot was taken. The specified block ID is invalid. The block ID must be Base64-encoded. InvalidBlockList. Bad Request (400) The specified block list is invalid. InvalidOperation. Bad Request (400) Invalid operation against a blob snapshot. InvalidPageRange. Requested Range Not Satisfiable (416) The page range specified is invalid.

Public read access for blobs only: Blobs within the container can be read by anonymous request, but container data is not available. Anonymous  1 - In the Azure Storage Explorer application do these steps to change/verify access. Right click the container's blob in question; Select Set Public Access Level; Set to at least Public read access for blobs only. Apply.

Page blobs are optimized for random reads and writes. Updating or deleting blocks in an append blob is not supported. Azure Blob Storage Capabilities With the wide range of usage of blobs, there Multiple snapshots can exist per blob. to show static websites directly from blob, which includes specifying a default  Creating Append Blob only if it does not exists safely . 1 Mar 2017 2 mins Azure, Azure Storage I’m working on a small side-project where I need some multiple-writers-safe storage for storing logging-like events. For this the Azure’s Append Blob is a good match. But the blob itself is limited in size and number of blocks.

Azure Worker role and blob storage c# - Microsoft. Currently when i try to modify a row with an attribute that does not exist, I get an exception saying The The following are top voted examples for showing how to use com. the blob, however when I try to download it I get the exception: The specified blob does not exist. The title bar reads “StorageClientException was unhandled” which is accurate, since that code was not currently in a try/catch block. No problem or surprise there, at least with that part. But the exception text itself was surprising: “The specified container does not exist.” Uhhhh, yes it does!

Comments
  • Please ensure that the blob container does not have "Private" ACL. In order for a blob to be accessed directly via browser, the container's ACL should be "Blob" or "Public". HTH.
  • I dont think that is it. I have 2 containers private, and 1 public and i can download from the browser with all 3. What happens when you use something like CloudXplorer? Does the file show up there?
  • @paqogomez I seriously doubt that. Only way you could download a blob from a private blob container directly through a browser is by using a Shared Access Signature URL.
  • Well, I am. Still, the blob not found error doesn't seem indicative of a permission issue.
  • Looking at the 2nd screenshot, the portal actually creates a SAS URL and that's why you're able to access the private blobs. Will it be possible for you to post the actual URL which is giving you error here?
  • How do I fix this for files that do contain the spaces though, as I need to access these previously uploaded blobs?
  • As I said above, the SAS URL created via code above works so what you could do is write some code to create SAS URI on these files and download the blobs using those SAS URIs.
  • Yet another alternative could be to download these blobs from various desktop tools (including Visual Studio). One such free tool is Azure Explorer from Cerebrata (cerebrata.com/labs/azure-explorer). HTH.
  • @GauravMantri is there any whay to achieve the same in JAVA? I am doing url = blob.getUri() +"?"+ blob.generateSharedAccessSignature(getPolicy(), null); and getting issues in the same sceanrio like file name containing spaces
  • I think this is the answer
  • It's only the answer if you want all of the contents of your blob viewable to the world.