在 Azure 上定义环境变量的方式和位置
Posted
技术标签:
【中文标题】在 Azure 上定义环境变量的方式和位置【英文标题】:How and where to define an environment variable on Azure 【发布时间】:2016-04-09 02:32:10 【问题描述】:我有一个部署到 Azure 的 ASP.NET MVC Web 应用程序。我正在使用GetEnvironmentVariable(...)
方法读取我的设置。
问题是我找不到在 Azure 门户中定义此环境变量的方法。我在哪里可以这样做?
我不想把这些东西放在一个文件里。将存在的数据是凭据。
【问题讨论】:
How do you put environmental variables in web.config?的可能重复 在 Azure 中托管 ASP.NET MVC 应用程序有很多不同的方法。如果是这种情况,您应该指定您使用的是 Azure 应用服务。否则会有很多不同的潜在答案。 【参考方案1】:我假设您使用的是 Azure 应用服务(以前称为 Azure 网站)。
要定义您自己的环境变量,请单击您的站点 → 所有设置 → 应用程序设置:
在“应用设置”部分添加应用设置:
您可以从调试控制台验证该值。
转到 https://您的站点名称.scm.azurewebsites.net/DebugConsole:
【讨论】:
另外:别忘了点击刀片顶部的“保存”:) 这个答案可以更新。 Azure 的 UI 有一些更新。不过,它是次要的。 此答案可以使用更新 - 应用程序设置现在位于“设置”下的“配置”刀片中。 为什么会创建另一个带有 APPSETTING 前缀的变量?【参考方案2】:实际上,这解决了我的问题(我昨天发现的 - 它也在 Scott Hanselman 的博客上):
Best practices for private config data and connection strings in configuration in ASP.NET and Azure
TLDR;
将设置放在一个单独的文件中,该文件不会进入存储库,也不会部署到服务器。接下来在应用程序设置中定义缺失的变量,如小敏吴所示。
【讨论】:
对于后代,您能否在您的答案中包含您认为有用的链接的相关部分?这样,如果链接断开、更改等,您的答案不会变得无用。非常感谢。【参考方案3】:我自己遇到同样的问题时遇到了这个问题。好吧,只是为了给出我在blog.elmah.io 找到的更清晰的答案。
您需要做的就是:
-
在文件
project.json
的 publishOptions 中包含新的 appsetting.env.json。
转到 Azure 门户并打开 Web 应用程序。
选择应用程序设置。
为 ASPNETCORE_ENVIRONMENT 添加一个条目并将其设置为您想要的任何值。
就是这样。
【讨论】:
【参考方案4】:(2019 版)在 Azure 云门户中导航到您的 AppService,然后进行配置。
【讨论】:
【参考方案5】:在新版本 2021 中,转到资源 -> 配置。
然后点击“新建应用设置”。
然后添加“ASPNETCORE_ENVIRONMENT”作为键,然后单击确定,然后单击保存。
请注意,您必须拥有 .Net Core 的 appsettings.(environment).json 文件。
【讨论】:
对于python我们应该怎么做【参考方案6】:我知道门户中指定的 OP,但命令行更可重复。使用 Azure CLI 执行此操作:
az webapp config appsettings set -n $webappname -g $resourceGroupName --settings ConnectionStrings__Default=$connectionString
将环境变量ConnectionStrings__Default
设置为变量$connectionString
【讨论】:
【参考方案7】:在现代,从 Visual Studio 2019 发布时,发布页面上有一个名为“管理 Azure 应用服务设置”的链接。在那里,您可以创建和定义在发布时设置的环境变量。如果您知道在哪里看,这很容易!
【讨论】:
以上是关于在 Azure 上定义环境变量的方式和位置的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式为 .NET 5 Azure Function ServiceBusTrigger 连接字符串设置环境变量?
在 azure 中设置 webapp %PATH% 环境变量