api 用于根据 Sku 层筛选 azure 磁盘

An api to get azure disk filtered according to the Sku tier

任何人都可以建议 REST API 根据磁盘层(例如超、标准)获取订阅中的所有磁盘和 return 具有相同层的磁盘列表。

据我所知,没有API可以直接按磁盘层级(SKU) 检索磁盘。您应该自己过滤结果。如果您使用的是 .net,使用 Azure 管理 SDK 比使用 REST API.

更容易获得您需要的结果。

我为您编写了一个简单的控制台应用程序,试试下面的代码:

using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AzureMgmtTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var subscriotionId = "<azure subscrioption ID>";
            var clientId = "<azure ad app id>";
            var clientSecret = "<azure ad app secret>";
            var tenantId = "<your tenant name/id>";
            var sku = "<the disk sku you want to query>";   //all skus : Standard_LRS,Premium_LRS,StandardSSD_LRS,UltraSSD_LRS



            var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(clientId,clientSecret,tenantId,AzureEnvironment.AzureGlobalCloud);

            var azure = Azure
                .Configure()
                .Authenticate(credentials)
                .WithSubscription(subscriotionId);
            Console.WriteLine("using subscription: " + subscriotionId);

            var disks = azure.Disks.List().Where(disk => disk.Sku.ToString().Equals(sku));

            Console.WriteLine("disks with sku :" + sku);
            foreach (var disk in disks) {
                Console.WriteLine("name:"+ disk.Name + "      resource_group:"+ disk.ResourceGroupName );
            }

            Console.ReadKey();
        }
    }
}

结果:

如果您还有任何疑问,请随时告诉我。