我正在尝试按照here所述如何安装和配置Terraform以使用Azure云外壳将VM和其他基础结构置备到Azure的示例:
以下命令提供了订阅ID和租户ID:
import csv
import re
data = []
with open('customerdata.csv') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
if re.search(r'\.edu\b', row[7]): # you could also use row[7].endswith('.edu')
data.append(row[7])
print(' '.join(data))
但是,该命令提供了以下错误:
云“ AzureCloud”中不存在“”的订阅。
答案 0 :(得分:2)
只需再次登录
az login
这将更新您所属的订阅。
答案 1 :(得分:1)
似乎是因为您登录到Azure门户并且有一个租户也已登录。如果该租户只有一个订阅,则可以使用命令az account set --subscription="${SUBSCRIPTION_ID}"
在另一个租户中设置订阅,您将收到错误:
云“ AzureCloud”中不存在“ xxxx”的订阅
如果租户只有一个订阅,则无需使用命令az account set --subscription="${SUBSCRIPTION_ID}"
。如果要使用,请使用订阅ID显示给您。测试结果如下图截图:
答案 2 :(得分:1)
对于任何根据标题找到此问题但与OP有不同问题的人。
症状:
az account list
输出中az account set -s subscription_id
失败,标题中显示错误消息可能的解决方案:
az login
重新验证cli 答案 3 :(得分:0)
今天遇到了同样的问题。按以下顺序运行以下命令
connect-azaccount az account list --all --output table
我看不到新的订阅,今天获得访问权限的我仅尝试多次运行connect-azaccount
。这非常令人沮丧。然后我喝了一杯咖啡,然后运行以下命令
az login
然后我再次运行以下命令
az account list --all --output table
现在我可以看到所有订阅,包括今天添加的订阅。
我现在很高兴。
答案 4 :(得分:0)
您可能有多个帐户,并且想要访问在与您当前登录的帐户不同的帐户下可用的订阅。因此,运行 az logout 然后运行 az login< /strong> 这将打开您的浏览器,以便您可以登录 azure!现在选择您要使用的帐户并登录。这将像对我一样解决问题。