如何解决无法通过 XDT 在 Kudu shell 中配置 PATH 环境变量
我正在尝试为我在 Azure 中使用 python 构建的 Web 应用程序设置 PATH 环境变量。我尝试在本地使用 os.environ.setdefault('PATH','pandoc-2.14.1-1-amd64.deb')
之类的东西,但是一旦上传,这似乎不起作用。我也尝试在 azure 门户的配置部分设置路径,但收到以下错误:
我看过类似的帖子 setting the webapp %PATH% environment variable in azure。 该帖子建议将一个名为 applicationHost.xdt 的文件添加到 home/site 目录,该文件应自动设置 PATH 变量。但是,我无法将 applicationHost.xdt 上传到目录中的文件。这要么是因为文件 UI 界面不再存在,要么是我无法访问它。是否已停止通过 UI 上传的功能?
我能想到的唯一其他解决方法是在 Kudu bash shell 中使用 echo/cat 手动创建 applicationHost.xdt。这是非常棘手的。是否有任何在线工具可以在输入文件内容的情况下创建 bash 脚本以从头开始生成该文件?
解决方法
您可以向您的网络应用添加应用设置,如下所示:
然后,重新启动您的 Web 应用程序,在 Kudu 控制台中,您可以检查它。
注意:应用设置名称必须是唯一的,因此当您使用 PATH 作为密钥时,它已在部署时配置,因此在门户的应用设置中使用时使用不同的密钥名称。
作为一种解决方法,您可以通过 XDT 转换(XML 文档转换)来实现。
是的,您可以使用 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
命令验证内容
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。