尝试在我的计算机上使用azurerm提供程序在本地运行terraform时,收到以下错误:
错误:建立帐户时出错:获取已验证的对象ID时出错:从Azure CLI解析json结果时出错:等待Azure CLI时出错:退出状态1
我关注了这个链接:https://github.com/terraform-providers/terraform-provider-azurerm/issues/3686#issuecomment-523983734
但是az account get-access-token
可以工作。
有什么想法吗?
4条答案
按热度按时间7kjnsjlb1#
由于我的组织使用自签名证书来控制Internet流量,az cli无法正常工作。要进行诊断,应运行以下命令:
az ad signed-in-user show
它将向您显示一条非常明确的消息来解决此问题。
https://github.com/Azure/azure-cli/blob/dev/doc/use_cli_effectively.md#working-behind-a-proxy
我在Base64中从Chrome中导出了任何网站的CA证书,并复制了pem文件中的字符串,如前一个链接所示。
在Windows上:在
C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\certifi\cacert.pem
中附加证书希望这对某人有帮助!
sdnqo3pr2#
再次运行
az login
,它对我有效!wsewodh23#
我有这个,但
az ad signed-in-user show
工作和Azure CLI是最新的。Terraform使用命令行,但我的终端在开始时注入了额外的行(版本控制、别名/doskey),这是Terraform抱怨的地方,而不是Azure CLI。所以我关闭了它,它开始工作了。
gijlo24d4#
我也遇到了这个问题。在查看了您提供的链接,并尝试了各种命令,包括
az logout
和az login
,它仍然不工作。az ad signed-in-user show
没有显示任何错误或非json输出,我的令牌没有过期,但当我运行az extension --help
时,我注意到一条消息,说有一个更新可用于azure cli。所以,最后对我有效的是将azure cli从
2.41.0
更新为2.42.0
。我是通过Homebrew完成的,而不是cli本身给出的命令。完成后,再次运行az login
,我的terraform plan
命令工作正常。