Azure アカウントは Web インターフェイスには表示されますが、コマンド ライン インターフェイスには表示されません。

Azure アカウントは Web インターフェイスには表示されますが、コマンド ライン インターフェイスには表示されません。

Azure でリソース グループの新しいサブスクリプションを取得しましたPB。Azure ポータルでは確認できますが、コマンド ラインでは表示されません。

$ az account list --output table
Name                                  CloudName    SubscriptionId                        State    IsDefault
------------------------------------  -----------  ------------------------------------  -------  -----------

そのため、仮想マシンを作成することはできません。

$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.

アカウントを強制的に削除しようとしましたaz account set --subscription "<subscription-name>"が、az account set --subscription "<subscription-id>"効果はありませんでした。

この新しいサブスクリプションを CLI に強制的に表示させるにはどうすればよいですか?

答え1

重要なのは、アカウントリストを更新することです。ドキュメントに示唆されている:

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

...

--refresh

Retrieve up-to-date subscriptions from server.

その結果、新しいサブスクリプションはコマンドラインを通じてローカルで利用できるようになります。

$ az account list --refresh
[
  {
    "cloudName": "AzureCloud",
    "id": ...
    ...
    }
  },
  ...
]
$ az account list --output table
Name                                  CloudName    SubscriptionId                        State    IsDefault
------------------------------------  -----------  ------------------------------------  -------  -----------
new account                           AzureCloud                                         Enabled  Default

これが 2 番目のサブスクリプションである場合は、 を使用してデフォルトに変更する必要がありますaz account set -s <subscription-name-or-id>。そうしないと、同じエラーが発生しますResource group 'PB' could not be found.

関連情報