0

在获取 Azure VM 列表以及类型/类别(例如通用、计算密集型等)时需要帮助,请参阅https://docs.microsoft.com/en-us/azure/virtual-machines/sizes

我了解 Azure API 提供给定区域订阅中支持的列表 VM 大小、配置等)请参阅https://docs.microsoft.com/en-us/rest/api/azureml/workspacesandcomputes/virtualmachinesizes/列表

但是我们想列出类似于下面的虚拟机

在此处输入图像描述

4

1 回答 1

0

如果要使用 C# 列出 azure vm 资源 sku,请参考以下步骤:

  1. 创建服务主体并将 Contributor 角色分配给 sp
az login
#create sp and assign Contributor role at subscription level
az ad sp create-for-rbac -n "your service principal name"

在此处输入图像描述

  1. 代码。我使用包装Microsoft.Azure.Management.FluentMicrosoft.Azure.Management.ResourceManager.Fluent
 string clientId = "<sp appID>";
            string clientSecret = "<sp passowrd>";
            string tenantId = "";
            string subscriptionId = "";
            var credentials = SdkContext.AzureCredentialsFactory
                .FromServicePrincipal(clientId,
                    clientSecret,
                    tenantId,
                    AzureEnvironment.AzureGlobalCloud);
            var azure = Microsoft.Azure.Management.Fluent.Azure
                        .Configure()
                        .WithLogLevel(HttpLoggingDelegatingHandler.Level.BodyAndHeaders)
                        .Authenticate(credentials)                       
                        .WithSubscription(subscriptionId);

            IPagedCollection<IComputeSku> skus = await azure.ComputeSkus.ListbyRegionAndResourceTypeAsync(Region.AsiaSouthEast, ComputeResourceType.VirtualMachines);

            // process data according to your need
                   //get B-series VMs size
                   var newSkus =skus.Where(sku => sku.Inner.Family == "standardBSFamily").ToList();

更多详细信息,请参阅示例API

于 2020-11-26T06:40:26.690 回答