Как наиболее удобно развернуть библиотеку собственного кода, зависящую от нескольких сотен файлов, в Windows Azure? - PullRequest
1 голос
/ 27 мая 2011

В этом руководстве показано, как развернуть COM-объект, состоящий из одного DLL-файла, в роль Windows Azure с использованием механизма запуска задач.

Теперь у меня есть COM-объект, который зависит от нескольких сотен других файлов - .dll-файлов (я тоже их создаю) и некоторые двоичные данные, необходимые для его работы, которые необходимо развернуть в виде дерева каталогов. Включение этого в проект ролей (как это делается для отдельного файла в руководстве) выглядит довольно глупо - эти файлы не принадлежат функциональности роли, а роль просто зависит от COM-объекта.

Как мне наиболее удобно развернуть огромное поддерево, содержащее объект COM и все, от чего оно зависит, в Windows Azure?

Ответы [ 2 ]

2 голосов
/ 27 мая 2011

Если файлы будут меняться независимо от процесса изменения роли, тогда я согласен с предложениями Дэвида - я бы положил их все в zip в хранилище BLOB-объектов, а затем использовал задачу запуска для загрузки и установки файлов. .

Однако, если файлы не будут изменяться независимо от файлов в роли, я бы упаковал файлы в ZIP-файл, а затем запустил процесс запуска, чтобы разархивировать и установить эти файлы из роли. Одним из преимуществ этого подхода является то, что проект очень прост в развертывании и версии в «devops» - он не имеет никаких зависимостей от хранилища BLOB-объектов.

И последний вариант: вы также можете поместить библиотеки DLL в диск Azure - вы можете подключить этот диск и установить COM-объект с этого диска во время запуска роли.

2 голосов
/ 27 мая 2011

Один из популярных методов - хранить эти файлы в хранилище BLOB-объектов.Два способа сделать это:

  1. Создать контейнер для вашей DLL и зависимых файлов и сохранить каждый файл в своем собственном BLOB-объекте.
  2. Создать ZIP-файл вашей DLL и дерева зависимостейи сохраните этот zip-файл в одном блобе

С помощью задачи запуска с повышенными правами вы можете скопировать файлы и установить COM-компонент.

Вариант № 2, скорее всего,приведет к более быстрому времени загрузки, так как это одна копия, и у нее будет меньше транзакций хранения.Вам просто нужно упаковать zip-приложение (или сохранить его в отдельном BLOB-объекте.

Нейт Тоттен создал мультитенантную веб-роль для Windows Azure, и методика, которую он использует для развертывания веб-сайта, включает в себя параметр #2 выше (хотя и не в качестве задачи запуска). Я предлагаю посмотреть этого проекта , чтобы увидеть, как zip-файл копируется в локальное хранилище и распаковывается.

РЕДАКТИРОВАТЬ: Еще один вариант заключается впосмотрите на AzureRunMe , инструмент с открытым исходным кодом для разархивирования и запуска приложений в роли Windows Azure.

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