0

我们没有使用 azure rest API 在 azure 门户的诊断设置下显示列表

我尝试使用 azure rest API 进行诊断设置列表

我想要使​​用 azure rest API 的 azure 门户的诊断设置下的资源列表。

所以附加的快照是我们想要得到的

4

1 回答 1

0

似乎没有单个 API 调用来检索所有诊断设置,您可以获得指定资源的活动诊断设置列表。

请参阅链接https://docs.microsoft.com/en-us/rest/api/monitor/diagnosticsettings/list

更新

1.首先,转到您的 sql server>Access control(IAM)>Add>Add Role Assignment 并为您的服务主体分配一个角色。

在此处输入图像描述

2.使用以下rest api C#代码获取sql数据库诊断设置信息。

public static void getDiaSettings()
{
    var appId = "xxxxxxxx";
    var secretKey = "xxxxxxxx";
    var tenantId = "xxxxxxxx";
    var context = new AuthenticationContext("https://login.windows.net/" + tenantId);
    ClientCredential clientCredential = new ClientCredential(appId, secretKey);
    var tokenResponse = context.AcquireTokenAsync("https://management.azure.com/", clientCredential).Result;
    var accessToken = tokenResponse.AccessToken;
    using (var client = new HttpClient())
    {
        client.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);
        var baseUrl = new Uri($"https://management.azure.com/");
        var request2=  baseUrl +
                     @"/subscriptions/xxxxxxxx/resourceGroups/yourResourceGroup/providers/Microsoft.Sql/servers/yourSqlServer/databases/yourSqlDatabase/providers/microsoft.insights/diagnosticSettings?api-version=2017-05-01-preview";
        var response = client.GetAsync(request2).Result.Content.ReadAsStringAsync().Result;
    }
}
于 2019-10-21T06:33:45.897 回答