#python #azure #azure-worker-roles #azure-cloud-services
#python #azure #azure-worker-роли #azure-cloud-services
Вопрос:
У меня есть один облачный сервис Azure в качестве проекта в Visual Studio 2015, который содержит 2 рабочие роли Python.
У каждого из них есть своя папка с файлами исходного кода, и они развертываются на отдельных виртуальных машинах. Однако они оба полагаются на некоторые идентичные фрагменты кода. Прямо сейчас мое решение состоит в том, чтобы просто включить копию кода в каждую рабочую роль, но затем я должен не забыть применить изменения к обеим рабочим ролям в случае исправления ошибки.
Я попытался создать папку на уровне проекта, содержащую общие файлы, но когда я добавляю их в рабочую роль, VS просто копирует файлы.
Есть ли способ реализовать что-то вроде общей папки, которая копирует файлы только при создании проекта?
Ответ №1:
Вероятно, есть много способов решить вашу проблему, но конкретно с точки зрения рабочей роли: рабочие (и веб-роли) имеют определяемые задачи запуска, что позволяет выполнять код / скрипт во время запуска роли. Это позволяет выполнять такие действия, как копирование содержимого из хранилища больших двоичных объектов на локальный диск в экземпляре вашей роли. В этом сценарии большой двоичный объект, в котором хранится ваш код, действует как общий диск.
Комментарии:
1. Похоже, это сработает, но, честно говоря, это также звучит как ужасно много работы: вам понадобятся сценарии для загрузки этих файлов в blob, загрузки их в startup-tasks, а также для загрузки их локально для разработки. Сейчас я изучаю использование символических ссылок в Windows.
2. «ужасно много работы»? Для загрузки файла из хранилища больших двоичных объектов требуется всего несколько строк PowerShell / CLI. То же самое для загрузки.