Невозможно настроить переменную среды PATH в оболочке Kudu через XDT

Я пытаюсь установить переменную среды PATH для веб-приложения, которое я создаю в Azure на python. Я пытался использовать что-то вроде os.environ.setdefault('PATH', 'pandoc-2.14.1-1-amd64.deb') локально, однако после загрузки это не работает. Я также попытался указать путь в разделе конфигурации на портале Azure, но получил следующую ошибку: введите здесь описание изображения

Я видел такие сообщения, как настройка переменной среды webapp %PATH% в azure< /а>. В сообщении рекомендуется добавить файл с именем applicationHost.xdt в каталог home/site, который должен автоматически устанавливать переменную PATH. Однако я не могу загрузить applicationHost.xdt в файлы в каталоге. Это связано либо с тем, что интерфейс файлового интерфейса больше не существует, либо я не могу получить к нему доступ. Прекращена ли возможность загрузки через пользовательский интерфейс?

Единственный другой обходной путь, который я могу придумать, — это использовать echo/cat в оболочке Kudu bash для создания applicationHost.xdt вручную. Это очень сложно. Существуют ли какие-либо онлайн-инструменты, которые, учитывая ввод содержимого файла, создают сценарий bash для создания этого файла с нуля?


person Joshua Stapleton    schedule 22.07.2021    source источник
comment
Другой простой и лучший подход — установить переменную среды, изменив файл .bashrc или .profile. Переменные, добавленные в файлы .bashrc или .profile, видны всем процессам. Если ваша переменная среды используется в нескольких приложениях, вы можете использовать этот подход.   -  person KarthikBhyresh-MT    schedule 06.08.2021


Ответы (1)


Вы можете добавить настройки приложения в свое веб-приложение, как показано ниже:

введите здесь описание изображения

введите здесь описание изображения

Затем перезапустите свое веб-приложение в консоли Kudu, вы можете проверить это.

введите здесь описание изображения введите здесь описание изображения

Примечание. Имена параметров приложений должны быть уникальными, поэтому, когда вы используете PATH в качестве ключа, он уже настроен во время развертывания, поэтому при использовании в параметрах приложения с портала используйте другое имя ключа.

В качестве обходного пути вы можете добиться этого с помощью XDT Transform (XML Document Transform).

Да, вы можете использовать echo, чтобы создать то же самое. Простая копия, вставка содержимого файла в одинарную кавычку и передача его в файл, уже созданный с помощью команды echo.

/home>echo '<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
  <system.webServer> 
    <runtime xdt:Transform="InsertIfMissing">
      <environmentVariables xdt:Transform="InsertIfMissing">
        <add name="FOO" value="BAR" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />    
        <add name="PATH" value="%PATH%;%HOME%\BAR" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />    
      </environmentVariables>
    </runtime> 
  </system.webServer> 
</configuration>' > applicationHost.xdt

введите здесь описание изображения

Проверьте содержимое с помощью команды cat

введите здесь описание изображения

person KarthikBhyresh-MT    schedule 05.08.2021