Не могу создать контейнер BLOB на хранилище Azure Blob
-
05-10-2019 - |
Вопрос
Следующий код бросает ошибку в вызове метода «CreateiFnotexist». Я пытаюсь подключиться к хранению My Azure Blob и создать новый контейнер под названием «Изображения»
var storageAccount = new CloudStorageAccount(
new StorageCredentialsAccountAndKey("my_account_name", "my shared key"),
"https://blob.core.windows.net/",
"https://queue.core.windows.net/",
"https://table.core.windows.net/"
);
var blobClient = storageAccount.CreateCloudBlobClient();
var blobContainer = blobClient.GetContainerReference("images");
blobContainer.CreateIfNotExist();
Ошибка:
[StorageClientException: The requested URI does not represent any resource on the server.]
Контейнер «Изображения» не существует, но я ожидал, что он будет создан вместо ошибки, которую нужно бросить. Что я делаю неправильно?
Я попробовал HTTP вместо HTTPS, но результат является той же ошибкой.
Решение
Я понял, что должен использовать другой синтаксис
var storageAccount = new CloudStorageAccount(
new StorageCredentialsAccountAndKey("my_account_name", "my shared key"));
var blobClient = storageAccount.CreateCloudBlobClient();
var blobContainer = blobClient.GetContainerReference("images");
blobContainer.CreateIfNotExists();
Обратите внимание, как пропускают конечные точки. Очевидно, что CloudBlobClient может автоматически выяснить соответствующий URI.
Другие советы
Вы уверены, что имя учетной записи и общий ключ верны? Вы можете попробовать установить Fiddler, чтобы посмотреть на трафик HTTP, чтобы убедиться, что нет ничего подозрительного.