5

Мне нужно сохранить несколько файлов, которые пользователи загружают, а затем предоставить этим пользователям возможность доступа к своим файлам через http. Есть два основных соображения: - Storage (который является моей главной задачей здесь) - Безопасность (что давайте оставим в стороне на данный момент)Какова наилучшая стратегия использования Windows Azure в качестве системы хранения файлов - с возможностями загрузки HTTP

Вопрос заключается в том: Что является наиболее экономически эффективным и производительным способом хранения всех этих файлы и доступ к ним позже? Я считаю, что ответ таков: - Храните файлы в пределах Azure Storage Account и используйте ключ, который ссылается на них в базе данных SQL Azure.

Я вернусь на это?

Является ли ячейка памяти блоком? Или я могу создать что-то вроде папок внутри, чтобы лучше организовать мои файлы?

ответ

5

Идея использования SQL Azure для хранения метаданных для ваших блоб - довольно распространенный сценарий, который позволяет вам использовать SQL для поиска и капли для хранения.

Blobs организованы контейнером. Таким образом, вы бы что-то вроде:

http://mystorage.blob.core.windows.net/mycontainer/myfile.doc 

Вы также можете смоделировать иерархию, используя разделитель, но в действительности есть только контейнер плюс клякса.

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

+1

Отличный Давид. Большое спасибо! Я также тренировал Pluralsight и через несколько часов наблюдал за этим, я узнал, что вы упомянули выше. – xmorera

1

Я бы порекомендовал вам ознакомиться с примером BlobShare, который представляет собой приложение для совместного использования файлов, которое демонстрирует службы хранения на платформе Windows Azure, а также возможности аутентификации и авторизации службы контроля доступа (ACS). Полный пример кода находится на следующей ссылке:

http://blobshare.codeplex.com/

Вы можете использовать этот пример кода сразу, просто добавив надлежащую ссылку на учетные данные учетной записи Windows Azure. Лучше всего с этим образцом - вы можете обеспечить доступ к blob напрямую через службы контроля доступа. Вы также можете изменить код, чтобы добавить поддержку SAS, а также загрузку blob из открытых контейнеров. После того, как вы заработаете и поняли концепцию, которую вы можете настроить, чтобы сделать ее так, как вам хотелось бы.