gpt4 book ai didi

azure - 在 Azure 管理 API 中找不到订阅

转载 作者:行者123 更新时间:2023-12-04 15:39:37 26 4
gpt4 key购买 nike

我正在尝试使用 Azure 管理 API 创建 Kubernetes 集群。

  var credentials = SdkContext.AzureCredentialsFactory
.FromFile(Environment.GetEnvironmentVariable("AZURE_AUTH_LOCATION"));


var azure = Azure
.Configure()
.WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(credentials)
.WithDefaultSubscription();

var kubernetesCluster = azure.KubernetesClusters.Define("aks").WithRegion(Region.EuropeWest)
.WithNewResourceGroup("aksResourceGroup").WithLatestVersion().WithRootUsername("aksUsername")
.WithSshKey(sshPublicKey).WithServicePrincipalClientId("clientId")
.WithServicePrincipalSecret("secret").DefineAgentPool("ap").WithVirtualMachineCount(1)
.WithVirtualMachineSize(ContainerServiceVirtualMachineSizeTypes.StandardA0).Attach()
.WithDnsPrefix("dns-aks").Create();

在最后一行,抛出 CloudException 并显示消息:无法找到订阅 []。

即使抛出异常,资源组已创建,但它是空的。

我已使用 Azure CLI 与该服务主体登录,并且已运行

az account list

响应如下:

[
{
"cloudName": "AzureCloud",
"id": "SUBSCRIPTION ID FROM EXCEPTION ABOVE",
"isDefault": true,
"name": "Pay-As-You-Go",
"state": "Enabled",
"tenantId": "xxx",
"user": {
"name": "xxxx",
"type": "servicePrincipal"
}
}
]

应用程序注册存在于 Azure Active Directory > 应用程序注册 > 所有应用程序中。我什至授予了所有可能的 API 的权限。

为了接收该异常消息,我是否做错了什么?

最佳答案

根据错误日志,您似乎没有为服务主体设置默认订阅。您可以使用az account set --subscription <name or id>设置它。

如果还是不行,我建议你可以使用下面的代码。

  var azure = Azure
.Configure()
.WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(credentials)
.withSubscription("subscription id")

注意:您应该在您的订阅级别上授予您的服务主体所有者角色。看这个link 。不过好像你已经做到了,但我建议你再检查一下。

关于azure - 在 Azure 管理 API 中找不到订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49615220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com