Хранилище файлов SQL Azure - PullRequest
0 голосов
/ 08 июня 2011

Я недавно начал изучать использование Azure, но у меня возникли некоторые проблемы, связанные с хранением файлов.Из того, что я прочитал, изображения должны храниться в виде больших двоичных объектов, и нет способа хранить их непосредственно в файловой системе.К сожалению, для этого потребуется много модификаций нашей CMS, которая получает все свои файлы из файловой системы.

При извлечении изображений для отображения на странице, что является лучшим методом?Я поиграл с несколькими учебниками и создал простое приложение, которое хранит изображения, а затем позволяет извлекать их для отображения в браузере (http://www.codeproject.com/KB/cs/Azue7StepsBlob.aspx), однако это позволяет получить изображение при нажатии кнопки, записывая поток больших двоичных объектов с помощьюImage.FromStream. Если у вас есть страница с, скажем, 100 изображениями, для которых потребуется 100 отдельных обращений к базе данных, это правильный способ хранения и извлечения файлов, или я что-то упускаю? Любая помощь очень ценится.

Pat

Ответы [ 2 ]

2 голосов
/ 08 июня 2011

Образец, на который вы ссылались - http://www.codeproject.com/KB/cs/Azue7StepsBlob.aspx - использует хранилище BLOB-объектов Azure.

Это немного отличается от использования хранилища файлов SQL - это не SQL, а простой механизм хранения, предназначенный для быстрого масштабируемого доступа HTTP.

При извлечении изображений для отображения на странице, что является лучшим методом?

«Рекомендуемый способ», по-видимому, заключается в передаче URL-адресов хранилища BLOB-объектов непосредственно в браузер - браузер может затем получать и отображать изображения - ваше приложение не должно извлекать сами изображения.

В зависимости от ваших требований вы можете настроить открытый доступ на чтение для хранилища больших двоичных объектов или настроить сигнатуры общего доступа для временного доступа. Использование любого из этих механизмов позволит браузерам читать напрямую из хранилища BLOB-объектов с использованием HTTP.

Чтобы понять это, попробуйте этот официальный учебник - http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_exploringwindowsazurestoragevs2010_topic3.aspx

Кроме того, обратите внимание на другие вопросы здесь, например Где хранить такие вещи, как пользовательские изображения, с помощью Azure? Хранение BLOB-объектов?


Также обратите внимание на затраты, связанные с хранением BLOB-объектов - существуют затраты на хранение (которые обычно минимальны), а также затраты на доступ - каждый 10000 обращений стоит $ 0,01 - это может показаться незначительным, но может стать значительным, если вы храните много небольших часто используемых файлов там.

1 голос
/ 08 июня 2011

Вы должны осмыслить платформу Azure и, что более важно, тот факт, что серверы будут работать и падать.

Вы платите больше за использование базы данных sql azure db, поэтому наиболее эффективный метод управления изображениями - это хранениеизображение в хранилище Azure и сохраняйте ключ, указывающий на это изображение в вашей базе данных sql azure.

Возможно, вам придется внести изменения в архитектуру вашего приложения, однако вы будете использовать возможности Azure по мересделать эти изменения платформы.

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