Вы можете использовать два подхода: однофайловый (например, zip) или многофайловый (с каждым файлом в собственном блобе). Вот мой взгляд на него, то примечание о распаковке:
Single зип файл
Это очень простой способ сохранить сгруппированный набор файлов, как установить Апач, или набор статических ресурсов , Загрузка в локальное хранилище из blob чрезвычайно проста. И zip-файл может обрабатывать любой уровень вложенных каталогов.
Даунсайд: Чтобы обновить один файл, вам нужно создать новый zip; нет возможности просто загрузить один измененный актив.
отдельные сгустки
Отдельные пятна являются большими, когда вам нужно обновить отдельные файлы быстро, не заботясь о других файлах. Кроме того, вы можете напрямую ссылаться на эти капли, будь то публичные или (с общей подписью доступа), частные и вставлять ссылки на веб-страницы и т. Д. Посмотрите на мой ответ here, а также на примеры с Сандрино. О, и если вы планируете разоблачать капли через CDN, они должны быть в отдельных блобах.
Даунсайд: абсолютное сопоставление вложенных каталогов. Хранилище Blob расположено в учетной записи \ container \ blob. Пока вы можете имитировать вложенные папки, вам нужно будет сделать некоторую работу для сопоставления отдельных файлов. Чтобы загрузить отдельные капли, вам нужно захватить контейнер и вызвать ListBlobs()
, чтобы перечислять имена отдельных капель.
Как разархивировать
проект The Eclipse предоставляет VBS скрипт, который тривиальна для использования. Из проекта Visual Studio (или, действительно, любого скрипта) я бы подумал о загрузке чего-то вроде 7zip, который является бесплатным и тривиальным для установки. Затем просто загрузите zip из хранилища blob в локальное хранилище (в соответствующей папке) и передайте его в 7zip.
Надеюсь, это даст вам достаточное руководство для принятия правильного решения. Если это было me, и я хранили сборку (например, tomcat), я бы сохранил всю структуру каталогов в zip. Это дает мне уверенность, что я ничего не сломал, изменив только один файл. И ... Я могу легко сохранить текущую историю версий tomcat с несколькими застежками (в отдельных блобах).
Почему бы просто не загрузить отдельные файлы? Хранение дешево. – Paparazzi
Я должен был заметить, что есть также папка проекта, содержащая сотни файлов и других папок. Я хотел бы иметь возможность загружать все содержимое контейнера, сохраняя папки, имена файлов и т. Д. Возможно ли это? – RobVious
Пожалуйста, определите данные pull down. Вам нужны эти роли для рабочей роли или вам нужно загрузить эти файлы клиенту? Или что-то другое? – Paparazzi