sexta-feira, 2 de outubro de 2009

400 Bad Request acessando o Blob Storage do Azure

Rapidinha que já perdi MUITO tempo com esse erro imbecil. Fui acessar o Blob Storage do Azure e qualquer operação que eu chamava retornava "400 - Bad Request". Depois de 3 horas virando, revirando e testando mil coisas, descobrimos que o erro era que na hora que eu ia instanciar um objeto da classe BlobStorage, através de BlobStorage.Create(), eu passava as credenciais do Table Storage, em vez das credenciais do Blob Storage.

Código errado:
BlobStorage blobs = BlobStorage.Create(
StorageAccountInfo.GetDefaultTableStorageAccountFromConfiguration());
Código certo:
BlobStorage blobs = BlobStorage.Create(
StorageAccountInfo.GetDefaultBlobStorageAccountFromConfiguration());
Tem 3 métodos de recuperação de credenciais: GetDefaultTableStorageAccountFromConfiguration(), GetDefaultBlobStorageAccountFromConfiguration(), e GetDefaultQueueStorageAccountFromConfiguration(). Cada um correspondendo ao storage do Azure que você quer acessar. Ok, eu chamei o método errado. Mas "Bad Request"??? Sinceramente, as mensagens de erro do Azure estão precisando de uma revisada...