Работа с Windows Azure Blob
В качестве примера рассмотрим работу простого веб - приложения для загрузки изображений в хранилище Windows Azure Blob:
- подготовка приложения;
- загрузка и отображение изображений;
- удаление сущностей;
- копирование сущностей.
Создайте проект облачной службы и добавьте веб - роль в решение.
В свойствах веб - роли определим строку подключения к эмулятору хранилища Azure.
Также нам понадобится строковый параметр ContainerName, определяющий имя Blob - контейнера для изображений.
Задание 1. Подготовка приложени
Создадим веб - форму AzureBlobSamle.aspx и добавим ссылки в C# класс данной страницы
using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.ServiceRuntime; using Microsoft.WindowsAzure.StorageClient; using System.Configuration;
Далее, поскольку Blob - контейнер должен быть доступным для анонимных пользователей необходимо создать метод, подтверждающий наличие контейнера:
private void EnsureContainerExists() { var container = GetContainer(); container.CreateIfNotExist(); var permissions = container.GetPermissions(); permissions.PublicAccess = BlobContainerPublicAccessType.Container; container.SetPermissions(permissions); }
Как видно, в данном методе присутствует ссылка на несуществующий пока GetConteiner() , который должен возвращать Blob-контейнер для осуществления операций с Blob-объектами.
private CloudBlobContainer GetContainer() { CloudStorageAccount.SetConfigurationSettingPublisher( (configName, configSettingPublisher) => { var connectionString = RoleEnvironment.GetConfigurationSettingValue(configName); configSettingPublisher(connectionString); } ); var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString"); var client = account.CreateCloudBlobClient(); return client.GetContainerReference(RoleEnvironment.GetConfigurationSettingValue("ContainerName")); }
Интерфейс
Теперь необходимо заняться самой формой. На форме буду присутствовать текстовые поля, задающие параметры изображения и диалог загрузки файла.