У меня есть служба WCF, размещенная в Azure.
У меня есть файл пространственной базы данных, который я собираюсь сохранить в хранилище BLOB-объектов Azure (1.1G).Сжатый это 500К.
Я хотел бы скопировать его в локальное хранилище при запуске моей службы, а затем использовать пространственный объект для запуска различных пространственных функций из файла базы данных.Пространственные данные статичны.
Есть ли у кого-нибудь фрагмент кода (C #) для копирования файла из хранилища BLOB-объектов Azure в локальное хранилище?
(также, я думаю, этот подход имеет смысл - так ли это?)
(также, стоит ли мне сжимать файл для хранения блобов?)
Спасибо
РЕДАКТИРОВАТЬ: Спасибо за первые два ответа.Я надеялся на некоторые фрагменты кода для использования.Я мог бы использовать немного больше объяснения, по которому был бы лучший путь.Просто закодируйте все это или воспользуйтесь этой идеей начальной загрузки.
РЕШЕНИЕ: я отмечаю SMARX как ответ, потому что он должен работать для любого защищенного файла Azure, но так как этот файл является общедоступным файлом BLOB, я пропустил CloudStorageAccountмаршрут, предложенный SMARX, в пользу простого веб-доступа.Мне интересно, есть ли какие-либо преимущества в скорости использования подхода SMARX.Будем благодарны за любые комментарии.
// Retrieve an object that points to the local storage resource
LocalResource localResource = RoleEnvironment.GetLocalResource("MyLocalStorage");
WebClient webClient = new WebClient();
webClient.DownloadFile(blobUrl, localResource.RootPath + "mySpatialiteDB.sqlite");
ПРИМЕЧАНИЕ. Необходимо настроить локальное хранилище через свойства webRole