A Vague Error While Creating Azure Blob Storage Container
CloudStorageAccount storageAccount = CloudStorageAccount.Parse( "DefaultEndpointsProtocol=https;AccountName=REMOVED;AccountKey=REMOVED"); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("TestContainer1"); container.CreateIfNotExist(); // This error'd
The errorA StorageClientException was thrown saying "One of the request inputs is out of range.". An inner WebException showed that "The remote server returned an error: (400) Bad Request."
The causeI'd assumed (incorrectly) that a container name could be pretty much any string. But that's not the case. As per this MSDN reference, a container name must:
- be in lowercase (this was the cause in my case)
- start with a letter or a number and only contain letters, numbers and hyphens (multiple consecutive hyphens are not allowed)
- be between 3 and 63 characters long
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)