云中不存在 xxx' 的订阅 'AzureCloud'

The subscription of xxx' doesn't exist in cloud 'AzureCloud'

我正在尝试遵循如何安装和配置 Terraform 以使用 Azure Cloud shell 将 VM 和其他基础设施配置到 Azure 中的示例,如 here:

所述

以下命令提供了订阅 ID 和租户 ID:

az account show --query "{subscriptionId:id, tenantId:tenantId}"

但是,该命令提供了以下错误:

The subscription of '' doesn't exist in cloud 'AzureCloud'.

测试你贴的link,同样报错,截图如下:

似乎是因为你登录了Azure Portal,而且有一个租户你也登录了。如果租户只有一个订阅,那么你在另一个租户中使用命令设置订阅az account set --subscription="${SUBSCRIPTION_ID}",你会得到错误:

The subscription of 'xxxx' doesn't exist in cloud 'AzureCloud'

如果租户只有一个订阅,则不需要使用命令az account set --subscription="${SUBSCRIPTION_ID}"。如果您想使用,请使用订阅 ID 显示给您。测试结果如下截图:

对于根据标题发现此问题但与 OP 存在不同问题的任何人。

症状:

  • 订阅未显示在 az account list 输出中
  • az account set -s subscription_id 失败并在标题中显示错误消息

可能的解决方案:

  • 您需要 re-auth 使用 az login
  • 的 cli

今天遇到同样的问题。 运行 以下命令顺序如下

connect-azaccount az account list --all --output table

我看不到今天获得访问权限的新订阅,只是尝试 运行 connect-azaccount 多次。这非常令人沮丧。然后我 d运行k 一杯咖啡和 运行 下面的命令

az login

然后我再次运行下面的命令

az account list --all --output table

现在我可以看到所有订阅,包括我今天添加的订阅。

我现在很幸福

重新登录即可

az login

这将更新您所属的订阅。

您可能有多个帐户,并且想要访问与您当前登录的帐户不同的帐户下可用的订阅。因此,运行 az logout 然后 运行 az login 这将打开您的浏览器,以便您可以登录到 azure!现在 select 您要使用和登录的帐户。这将解决我遇到的问题。

首先转到您的机器并输入 登录名 它会给你一个url,将它复制并粘贴到浏览器上,它会询问你将在你的机器上找到的代码,你可以在你的机器上执行 az login 命令,只需复制并粘贴。 此过程将询问您的 azure 帐户详细信息以进行验证,并提供您的 azure 帐户信息。验证成功后关闭window。 然后执行下面的命令 az account set --subscription ******************************* az aks get-credentials --resource-group ********* --name *********

现在您已连接到您的 Azure K8 集群

我在通过 AzureCLI@2 任务使用 Azure cli 时遇到过这种情况,例如:

- task: AzureCLI@2
  displayName: 'My task'
  inputs:
    azureSubscription: my-subscription
    scriptType: ps
    scriptLocation: inlineScript
    arguments:
      -c container-name `
      --account-name my-account
    inlineScript: |
      az storage blob lease break -b terraform.tfstate

执行服务器安装了 Azure cli v.2.0.69,在将 CLI 升级到最新版本(撰写本文时为 2.27.2)后,错误消失了。

我不确定这是否真的与这个问题有关,但这是我在调试类似错误消息时着陆的地方,所以如果其他人 运行 遇到同样的问题,我遇到的问题是我有 运行 命令 sudo. 运行将其作为我的普通用户使用后,它运行良好。

有时 re-login (az login) 也不起作用。 试试这样的东西:

  1. az 注销,然后 az 登录。 (这里,当你粘贴登录URL &代码,然后尝试使用浏览器隐身模式)

  2. 如果您使用的是 linux 机器,请按照以下步骤操作。它对我有用。

    a) sudo az 登录。 b) sudo az account set --subscription 您的订阅 ID c) sudo az acr login -n 你的容器注册表名称(你使用你的 所需的命令而不是此 acr 命令)

我 运行 在使用 Azure CLI 任务和手动服务连接的 Azure DevOps 构建管道中遇到了这个错误。我的问题是我的新服务委托人对订阅中的任何内容都没有权限。一旦我授予它对我要部署到的资源组的贡献者访问权限,错误就消失了。