使用Azure CLI创建Web App时已登录仍提示需登录的问题咨询
Azure CLI创建Web App问题排查方案
已登录但执行命令仍提示需登录的解决步骤
- 先执行
az account show验证当前登录态:如果命令返回报错,说明之前的登录实际未生效或者缓存过期,直接重新执行az login完成授权即可,注意授权时要选择对应拥有Azure订阅权限的账号,等终端提示登录成功后再执行后续操作。 - 如果
az account show能正常返回账号信息,检查默认订阅配置:执行az account list --output table列出所有你有权限访问的订阅,确认目标订阅的IsDefault字段为True,如果默认订阅不对,执行az account set --subscription <目标订阅ID/订阅名称>切换到正确订阅即可。 - 排查CLI版本问题:执行
az version查看本地安装的CLI版本,旧版本Azure CLI存在登录态缓存异常的已知bug,升级到最新正式版后重新登录即可解决。 - 排查终端环境冲突:如果你混用了PowerShell、Git Bash、WSL等不同终端,注意不同终端的变量定义、换行符语法有区别,语法识别错误偶尔也会触发权限类的误报。
不同教程命令差异大的说明
- Azure CLI处于持续迭代状态,旧版本命令的部分参数会逐步被弃用、替换,发布时间较早的第三方教程里的命令可能不适配当前最新版CLI,优先参考官方最新文档的命令示例即可。
- 你当前参考的创建资源组、App Service计划、Web App的核心命令逻辑是正确的,近1年内发布的正式版Azure CLI都可以正常运行,只需要把命令里的区域参数
westeurope替换成你就近的Azure区域即可。 - 注意命令语法要和你使用的终端匹配,不要直接跨终端复制命令:
- Bash、Git Bash、WSL类终端,变量定义用
webappname=mywebapp$RANDOM,命令换行用反斜杠\,完整可运行示例:
- Bash、Git Bash、WSL类终端,变量定义用
# 生成唯一Web App名称并存为shell变量 webappname=mywebapp$RANDOM # 创建资源组 az group create --location westeurope --name myResourceGroup # 创建免费层App Service计划 az appservice plan create --name $webappname --resource-group myResourceGroup --sku FREE # 创建Web App az webapp create --name $webappname \ --resource-group myResourceGroup \ --plan $webappname
- PowerShell终端,变量定义要加
$前缀、用Get-Random生成随机数,命令换行用反引号`,完整可运行示例:
# 生成唯一Web App名称并存为变量 $webappname="mywebapp$(Get-Random)" # 创建资源组 az group create --location westeurope --name myResourceGroup # 创建免费层App Service计划 az appservice plan create --name $webappname --resource-group myResourceGroup --sku FREE # 创建Web App az webapp create --name $webappname ` --resource-group myResourceGroup ` --plan $webappname
内容的提问来源于stack exchange,提问作者gadaubac1984
相关产品推荐
相关产品推荐

