【发布时间】:2020-07-07 22:28:46
【问题描述】:
我正在开发官方 Azure 示例:Getting started - Managing Compute Resources using Azure .NET SDK。并在应用程序尝试创建Resource Group 的以下代码的resourceGroup = await resourceGroups.CreateOrUpdateAsync(resourceGroupName, resourceGroup); 行上出现以下错误。我已按照注册应用程序的说明以及示例提供的link 进行操作。并且,assigned a role to app 如下:
错误:
Azure.Identity.AuthenticationFailedException H结果=0x80131500 Message=DefaultAzureCredential 身份验证失败。 来源=Azure.Identity
内部异常 2: MsalServiceException:AADSTS70002:客户端不存在或未为消费者启用。如果您是应用程序开发人员,请通过 Azure 门户中的应用注册配置新应用程序
static async Task Main(string[] args)
{
var subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");
var resourceClient = new ResourcesManagementClient(subscriptionId, new DefaultAzureCredential());
// Create Resource Group
Console.WriteLine("--------Start create group--------");
var resourceGroups = resourceClient.ResourceGroups;
var location = "westus2";
var resourceGroupName = "QuickStartRG";
var resourceGroup = new ResourceGroup(location);
resourceGroup = await resourceGroups.CreateOrUpdateAsync(resourceGroupName, resourceGroup);
Console.WriteLine("--------Finish create group--------");
// Create a Virtual Machine
await Program.CreateVmAsync(subscriptionId, "QuickStartRG", location, "quickstartvm");
// Delete resource group if necessary
//Console.WriteLine("--------Start delete group--------");
//await (await resourceGroups.StartDeleteAsync(resourceGroupName)).WaitForCompletionAsync();
//Console.WriteLine("--------Finish delete group--------");
//Console.ReadKey();
}
更新:
按照示例中的说明,以下是我如何Used the portal to create an Azure AD application and service principal that can access resources。我可能没有在这里做任何事情。请让我知道我在这里没有做什么:
已注册应用在访问控制 (IAM) 中的角色分配:
身份验证和直接 URI:
已注册应用的 API 权限:
UPDATE-2:
与@JoyWan 合作,我能够解决问题(谢谢乔伊)。下面是成功创建所有必需的compute resources 的屏幕截图,包括VM。 注意:点击图片可以更好地查看屏幕截图。
【问题讨论】:
-
你在哪里运行代码?
-
@JoyWang 我在最新版本的
VS2019在家中本地运行代码。我订阅了 Azure,并按照示例的说明在那里注册了一个应用程序。
标签: c# azure azure-sdk-.net azure-sdk