使用azure rest API不会在azure门户的诊断设置下显示列表
我尝试使用azure rest API进行诊断设置列表
我想要使用azure rest API从azure门户进行诊断设置下的资源列表。
答案 0 :(得分:0)
似乎没有一个API调用可以检索所有诊断设置,您可以获取指定资源的活动诊断设置列表。
请参阅链接https://docs.microsoft.com/en-us/rest/api/monitor/diagnosticsettings/list
更新:
1。首先,转到您的sql server>访问控制(IAM)>添加>添加角色分配并将角色分配给您的服务主体。
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;
}
}