Azure 帐户显示在 Web 界面上,但不显示在命令行界面中

mig*_*rin 0 azure

我在 Azure 上通过资源组获得了新订阅PB。我可以在 Azure 门户上看到它,但它不会通过命令行显示:

$ az account list --output table
Name                                  CloudName    SubscriptionId                        State    IsDefault
------------------------------------  -----------  ------------------------------------  -------  -----------
Run Code Online (Sandbox Code Playgroud)

所以我无法在其上创建虚拟机:

$az_cmd="az vm create
       --resource-group PB
       --name PBVM
       --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:19.04.00
       --size Standard_F4s_v2
       --admin-username ${USER}"
$result=$($az_cmd)
error retrieving default location: Resource group 'PB' could not be found.
Run Code Online (Sandbox Code Playgroud)

我尝试强制帐户使用az account set --subscription "<subscription-name>"az account set --subscription "<subscription-id>"无济于事。

如何强制 CLI 查看这个新订阅?

mig*_*rin 5

关键是刷新帐户列表,如文档中所示

az account list [--all] [--refresh] [--subscription]

...

--refresh

Retrieve up-to-date subscriptions from server.
Run Code Online (Sandbox Code Playgroud)

结果是新的订阅可以通过命令行在本地使用:

$ az account list --refresh
[
  {
    "cloudName": "AzureCloud",
    "id": ...
    ...
    }
  },
  ...
]
$ az account list --output table
Name                                  CloudName    SubscriptionId                        State    IsDefault
------------------------------------  -----------  ------------------------------------  -------  -----------
new account                           AzureCloud                                         Enabled  Default
Run Code Online (Sandbox Code Playgroud)

如果这是第二次订阅,您需要使用 将其更改为默认值az account set -s <subscription-name-or-id>,否则您将收到相同的错误Resource group 'PB' could not be found.