簡體   English   中英

如何使用 ResourcesManagementClient 從 API 獲取 Azure 資源運行狀況?

[英]How to get Azure Resource Health from API using ResourcesManagementClient?

我特別想獲取此處描述的信息: https://docs.microsoft.com/en-us/rest/api/resourcehealth/availabilitystatuses/listbysubscriptionid

ResourcesManagementClient是通往 go 的方式嗎?

如果是這樣,我如何使用它從Microsoft.ResourceHealth提供程序獲取可用性狀態?

關於這個問題,請參考以下步驟

  1. 創建服務主體並將 Azure RBAC 角色分配給 sp

  2. 安裝 sdk

    <PackageReference Include="Microsoft.Azure.Management.ResourceManager" Version="3.13.0-preview" />
    <PackageReference Include="Microsoft.Identity.Client" Version="4.30.1" />
  1. 代碼
            var app = ConfidentialClientApplicationBuilder.Create(clientId)
                .WithClientSecret(clientSecret)
                .WithAuthority(String.Format(CultureInfo.InvariantCulture, "https://login.microsoftonline.com/{0}", tenantDomain))
                .Build();
            string[] scopes = new string[] { "https://management.azure.com/.default" };
            var result = await app.AcquireTokenForClient(scopes)
                     .ExecuteAsync();

            var cred = new TokenCredentials(result.AccessToken);

            ResourceManagementClient resourceManagementClient = new ResourceManagementClient(cred);
            resourceManagementClient.SubscriptionId = subscription;
            ///For example
            ///var resource = await resourceManagementClient.Resources.GetAsync(
            ///           "testdata",
            ///           "Microsoft.Compute",
            ///           "virtualMachines/testdocker" + "/providers/Microsoft.ResourceHealth",
            ///           "availabilityStatuses",
            ///           "current",
            ///           "2020-05-01"
            ///    );
            ///
            ///
            ///
            var resource = await resourceManagementClient.Resources.GetAsync(
                   "<the resource group of the resource your want to>",
                   "<the namesapce of the resource your want to>",
                   "<the resource path of the resource your want to>" + "/providers/Microsoft.ResourceHealth",
                   "availabilityStatuses",
                   "current",
                   "2020-05-01"

                );

            Console.WriteLine(resource.Properties);

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM