我正在尝试使用托管标识(系统分配)设置从Azure应用服务到Azure SQL DB的连接
下面是设置:一个服务计划中有两个Azure应用程序服务,一个用于应用程序,一个用于API。我在Azure中有一个SQL服务器,其中有两个Azure SQL DB。应用程序服务打开了其系统分配的托管身份。我在项目(应用程序和API)中有多个环境的应用程序设置。
appsettings.json
appsetings.Development.json
appsettings.Acceptance.json
appsettings.Production.json
当我从yaml pipeline将我的应用程序部署到应用程序服务后探索Kudu时,我看到所有应用程序设置文件都可用。
Azure应用服务中的configuration -〉application设置只有应用洞察工具密钥,我在Azure中提供应用服务时在模板中添加了该密钥(IaC)。在这种情况下:
如果推送了所有应用程序设置文件(如Kudu中所示),将读取哪个应用程序设置?appsettings.json或任何其他环境特定的?据我所知,应该是appsettings.json。处理不同环境的应用程序设置的最佳方法是否是在solution/repo中仅具有appsettings.json和appsettings.development.json,同时提供Azure应用程序服务(IaC模板),不同环境的参数文件可以有所需的设置(作为密钥存储在密钥库中并读取)?或者任何其他方式更好,更容易,更安全?我不知道如何在多个环境中使用密钥管理器。
1条答案
按热度按时间icnyk63a1#
正如我所提到的,应用程序设置的阅读将基于环境。
Development
/Production
/Acceptance
)设置密钥ASPNETCORE_ENVIRONMENT
。当我从yaml pipeline将我的应用程序部署到应用程序服务后探索Kudu时,我看到所有应用程序设置文件都可用。
是的,当我们发布
Application
时,所有可用的配置文件都部署到Azure App Service
。你也可以在我的应用程序中看到同样的情况。
KUDU控制台:
yaml
管道部署应用服务,然后将仅使用您在yaml
文件中指定的配置。yaml
文件中指定的配置。yaml
文件中转换的应用程序设置。Pipeline
中的Azure App Service deploy
任务中找到该选项。Azure App Service
=〉Configuration
=〉Application settings
中看到yaml
的配置。有关XML转换的详细信息,请参阅MSDoc。
要使用
Azure Key Vault
存储秘密,我们在Aure Pipeline Task中有一个选项。感谢@rahulpnath对
how configuration file works in different environment
的清晰解释。