Где хранить такие вещи, как пользовательские картинки, используя Azure? Хранилище Blob?

Я только что перенесла проект my для тестовых примеров на Microsoft azure.

Но для функций, подобных загрузке аватара, мне нужен доступ на запись к файлам на жестком диске. Но это облако, так что это невозможно. Как я могу построить такие функции вместо этого? Должен ли я использовать хранилище Blob или есть лучшее решение?

Имеет ли смысл хранить все изображения веб-сайта (например, макеты) в хранилище Blob? Итак, у меня был бы бесплатный куки файл для моего статического контента?

Ответ 1

Хранилище Blob - это, безусловно, место для размещения динамических изображений, таких как аватары. Хотя вы можете писать на диск на виртуальной машине, вы будете работать, вы не можете полагаться на это, чтобы присутствовать - если ваше приложение переместится на другую машину (что может произойти по ряду причин), это хранилище будет стираться.

Одна вещь, которую вы можете сделать, это хранить изображения в хранилище blob и кэшировать их на локальном диске VM (используя стандартные механизмы ввода-вывода файлов). Таким образом, вы получите довольно хорошую производительность и сохраните несколько транзакций хранения, при этом убедитесь, что вы не храните их в энергозависимом хранилище.

Если у вас есть статические изображения, которые будут полностью статичными, они просто связаны с вашим приложением и могут быть указаны как обычный файл. Но, если вам когда-либо понадобится их изменить, вам нужно будет повторно развернуть приложение, поэтому используйте только этот метод для изображений, которые не нужно изменять.

Ответ 2

Имейте в виду, что два типа Blobs в Windows Azure: Блокировать Blobs и Blob-страницы. Блокировочные блоки подходят для работы медиафайлов, тогда как Page Blobs оптимизированы для других шаблонов работы.

Также рассмотрите возможность использования Azure Сеть распространения контента (CDN) для снижения латентности для клиентов.

У Azure также есть потоковые возможности, которые работают совместно с Silverlight Smooth Streaming (http://blog.smarx.com/posts/smooth-streaming-with-windows-azure-blobs-and-cdn, если они заинтересованы).

Ответ 3

"Имеет ли смысл хранить все изображения веб-сайта (например, макеты) в хранилище Blob? Итак, у меня будет домен без cookie для моего статического контента?"

Да, я так думаю - вот что я сейчас выкачаю.