Несогласованная структура папки пакета Azure
Я уже некоторое время использую пул AzureBatch с развернутыми пакетами приложений и могу месяцами без проблем модифицировать / обновлять их через Azure.
Я попытался создать новый пул, настроенный точно так же, как мой текущий пул, но с отдельным пакетом приложения.
Моя проблема в том, что структура папок в этих двух пулах почти полностью различается, и я не знаю, что с этим поделать.
Путь к исходному пулу к нужным мне файлам выглядит следующим образом: C:\user\tasks\ Applications\wd\'packagename'\'version'\'nodetimestamp'\'PACKAGENAME'
Но в этом новом пуле структура выглядит так:
C: \ пользователь \ Задачи \apppackages\'packagenameNodetimestamp'\'PACKAGENAME'
Я не вижу, как эти пулы создаются по-другому, я пытался воссоздать этот новый пул несколько раз, но получается то же самое. Не все параметры при создании пула доступны для просмотра из портала Azure после его создания, но я уверен, что это просто пул облачных услуг, Windows Server 2012 R2 для обоих.
Любая помощь будет принята с благодарностью, спасибо за ваше время.
РЕДАКТИРОВАТЬ:
Принятый ответ заведомо правильный. Я не обновлял ссылки на переменные среды, чтобы отразить сделанные мной изменения в пулах.
1 ответ
Пакеты, которые вы указали для пула или задачи, загружаются и извлекаются в именованный каталог внутри AZ_BATCH_ROOT_DIR
узла. Пакет также создает переменную среды, которая содержит путь к названному каталогу. Командные строки вашей задачи используют эту переменную среды при обращении к приложению на узле.
На узлах Windows переменная имеет следующий формат:
Окна: AZ_BATCH_APP_PACKAGE_APPLICATIONID#version
На узлах Linux формат немного отличается. Точки (.), Дефисы (-) и числовые знаки (#) сведены к подчеркиванию в переменной среды. Также обратите внимание, что регистр идентификатора приложения сохраняется. Например:
Linux: AZ_BATCH_APP_PACKAGE_applicationid_version
Ссылка: https://docs.microsoft.com/en-us/azure/batch/batch-application-packages
Далее добавить:
Внутренний механизм и структура Dir зависят от типа операционной системы и IMO (на мой взгляд), это не то место, где рекомендуется зависеть от жестко заданного местоположения, поэтому механизм доступа к этим функциям осуществляется через env vars
То есть, какие бы основные изменения не произошли, env vars
укажет на источник правого каталога.
Если интересно: несколько месяцев назад было произведено обновление, и уведомление о функции находится здесь: https://github.com/Azure/Batch/issues/1
Надеюсь, что это охватывает сценарий и помогает!