如何通过CLI获取Azure App Service槽交换的配置预览及差异警告?
如何用Azure CLI预览App Service槽交换的配置差异
当然可以!Azure CLI完全支持预览槽交换时的配置差异,和你在Azure门户里看到的警告提示逻辑完全一致,操作起来也很简单。
直接预览交换影响(推荐)
使用az webapp deployment slot swap命令加上--preview参数,就能在不实际执行交换的前提下,获取完整的配置差异报告:
az webapp deployment slot swap --resource-group <你的资源组名称> --name <你的应用服务名称> --slot <暂存槽名称> --preview
执行这个命令后,CLI会返回清晰的差异说明,包括:
- 哪些配置项会从暂存槽同步到生产槽
- 哪些标记为槽设置(Slot Setting)的配置会保留生产槽的原有值(比如特定的连接字符串、敏感应用设置)
- 两者之间具体的数值差异
举个典型的输出示例:
Config changes that will occur:
- Application setting 'WEBSITE_PHP_VERSION' will change from '7.4' (production) to '8.2' (staging)
- Slot setting 'PROD_DB_CONN' will remain as 'xxxxxx' (production)
- General setting 'Always On' will change from 'Off' (production) to 'On' (staging)
自定义对比配置细节
如果你需要更细致的配置对比,也可以分别导出两个槽的完整配置,再用diff工具进行对比:
# 导出生产槽的完整配置到JSON文件 az webapp config show --resource-group my-resource-group --name my-app-service --slot production > prod-config.json # 导出暂存槽的完整配置到JSON文件 az webapp config show --resource-group my-resource-group --name my-app-service --slot staging > staging-config.json # 使用diff工具对比两个配置文件(Linux/macOS环境) diff prod-config.json staging-config.json
这种方式适合你需要逐行检查所有配置项差异的场景,尤其适合自动化脚本里的配置校验。
内容的提问来源于stack exchange,提问作者viblo
相关产品推荐
相关产品推荐

