首页 > 解决方案 > 我可以从本地 C# 应用程序列出 Azure 资源组吗?

问题描述

我正在尝试在本地 C#.NET 应用程序中实现一项功能。该应用程序将我的 AAD 凭据存储在变量(用户名和密码)中。

我似乎找不到任何方法来做 Get-AzureRMResourceGroups 在 C# 中的 PowerShell 中所做的事情。我尝试使用 Microsoft.Azure.Management.Fluent 没有任何成功。

我所能找到的只是如何访问 Azure 资源、传递数据等——我对此并不感兴趣。我想列出资源组、资源及其权限。如果可能的话,我希望能够更改它们,但现在我只想列出订阅相关信息。

谢谢,请不要犹豫编辑这个问题以改进它。

标签: c#azure

解决方案


您将需要使用ResourceManagementClient,例如:

using Microsoft.Azure.Management.ResourceManager;
...
var tenantId = Environment.GetEnvironmentVariable("AZURE_TENANT_ID");
var clientId = Environment.GetEnvironmentVariable("AZURE_CLIENT_ID");
var secret = Environment.GetEnvironmentVariable("AZURE_SECRET");
var subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");

// Build the service credentials and Azure Resource Manager clients
var serviceCreds = await ApplicationTokenProvider.LoginSilentAsync(tenantId, clientId, secret);
var resourceClient = new ResourceManagementClient(serviceCreds);
resourceClient.SubscriptionId = subscriptionId;

// Getting the resource groups
var groups=resourceClient.ResourceGroups.List().ToList();

推荐阅读