Где в Azure хранить физические файлы, к которым должна обращаться рабочая роль?

Где в Azure хранить физические файлы, к которым должна обращаться рабочая роль?

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


person David P    schedule 16.04.2012    source источник


Ответы (4)


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

Что касается экземпляров рабочей роли, которые не могут получить доступ к папкам в экземпляре веб-роли (или других экземплярах рабочей роли), вы правы. На самом деле несколько экземпляров одной и той же роли не могут получить доступ к файловой системе друг друга (просто помните, что роль — это просто Windows 2012 Server, и каждый экземпляр этой роли работает на своей собственной виртуальной машине со своими локальными дисками).

ИЗМЕНИТЬ 5 ИЮЛЯ 2014 Г. Этот ответ немного устарел. Azure теперь предлагает файловую службу, предоставляющую общие ресурсы SMB, которые поддерживаются хранилищем BLOB-объектов. С этим, как правило, проще работать для устаревших приложений, которые должны использовать файловую систему и не могут быть изменены для прямого чтения или записи в большие двоичные объекты. Дополнительную информацию можно найти по адресу . здесь.

person David Makogon    schedule 16.04.2012

Поскольку данные не сохраняются в экземплярах, вам понадобится распределенное хранилище, где вы сможете хранить свои файлы (и другие данные). Это можно сделать с помощью хранилища BLOB-объектов Windows Azure (и это очень дешево по сравнению с хранением файлов в SQL Azure).

person Sandrino Di Mattia    schedule 16.04.2012

Хранилище Azure — хороший вариант. Вы также можете посмотреть на использование ресурсов локального хранилища:

http://msdn.microsoft.com/en-us/library/windowsazure/ee758708.aspx

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

person Tom    schedule 16.04.2012
comment
Указанная ссылка больше не актуальна. Вместо этого попробуйте этот. azure.microsoft.com/en -нас/документация/статьи/ - person Adam Heeg; 01.10.2015

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

Дополнительные сведения см. в справочнике MSDN по защите больших двоичных объектов и контейнеров в Azure.

person SliverNinja - MSFT    schedule 16.04.2012