Get-AzWebApp能否读取独立于web.config的连接字符串信息?
Get-AzWebApp获取独立配置文件连接字符串的解答 结论:默认调用Get-AzWebApp无法获取存储在独立config文件中的连接字符串。
原因说明
Get-AzWebApp是基于Azure资源管理器(ARM)接口实现的PowerShell命令,默认只能读取两类配置:一是Azure应用服务平台侧存储的配置(也就是门户「配置」页里设置的应用设置、连接字符串),二是应用根目录web.config里直接内嵌的<connectionStrings>节点内容。- 这个命令不会自动解析
web.config里configSource属性指向的外部文件,也没有权限直接遍历读取站点部署后存放在wwwroot目录下的零散文件。你场景里把连接字符串放在App_Config\ConnectionStrings.config这类独立文件中,这部分内容不在Get-AzWebApp的默认读取范围内,自然拿不到。
对应场景的web.config配置示例:
<connectionStrings configSource="App_Config\ConnectionStrings.config" />
可落地的获取方案
- 先通过
Get-AzWebAppPublishingCredential获取应用服务的Kudu部署凭据,调用Kudu的文件读取接口拉取wwwroot下对应路径的独立配置文件,手动解析XML节点提取连接字符串即可,Linux环境下注意把路径里的反斜杠\替换为正斜杠/避免路径错误。 - 对目标应用服务创建临时备份,通过
Get-AzWebAppBackup拿到备份文件下载地址,下载解压后直接读取对应路径的配置文件提取内容,适合批量拉取多站点配置的场景。 - 把所有连接字符串迁移到应用服务平台侧的「配置-连接字符串」板块统一管理,平台注入的配置优先级高于站点本地文件的配置,这种场景下直接调用
Get-AzWebApp就能读取到所有连接字符串,不需要额外解析文件,也是Azure官方推荐的配置管理方式。
内容的提问来源于stack exchange,提问作者Matthew Dresser
相关产品推荐
相关产品推荐

