Создайте контейнер в хранилище Azure с помощью C # - PullRequest
1 голос
/ 10 октября 2019

У меня есть следующий код:

var cloudStorageAccount = CloudStorageAccount.Parse(this._appSettings.BlobConnectionString);
this._cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();

CloudBlobContainer container = this._cloudBlobClient.GetContainerReference("dpd/textures/test");
await container.CreateIfNotExistsAsync();

Я хочу создать «тестовый» каталог внутри dpd / textures /, но я получаю эту ошибку:

запрошенный URI не представляет ни одного ресурса на сервере Azure Container

Что я делаю не так?

1 Ответ

1 голос
/ 10 октября 2019

На самом деле, нет реального каталога в хранилище BLOB-объектов. Каталог (не контейнер) всегда является частью имени большого двоичного объекта.

Таким образом, вы можете просто создать контейнер, например, "dpd", а затем использовать любые методы загрузки для загрузки файла, такого как myfile.txt. Во время загрузки файла вы можете указать имя файла как «textures / test / myfile.txt» в вашем методе GetBlockBlobReference. Затем каталог «текстуры / тест» создается автоматически.

Простой код:

            CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient();
            CloudBlobContainer cloudBlobContainer = cloudBlobClient.GetContainerReference("test1");
            var myblob = cloudBlobContainer.GetBlockBlobReference("textures/test/myfile.txt");
            myblob.UploadFromFile("your file path");

Результат теста:

enter image description here

Также обратите внимание, что если BLOB-объект (myfile.txt) будет удален, то каталог «textures / test» также будет удален, так как это имя части BLOB-объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...