我们没有使用 azure rest API 在 azure 门户的诊断设置下显示列表
我尝试使用 azure rest API 进行诊断设置列表
我想要使用 azure rest API 的 azure 门户的诊断设置下的资源列表。
我们没有使用 azure rest API 在 azure 门户的诊断设置下显示列表
我尝试使用 azure rest API 进行诊断设置列表
我想要使用 azure rest API 的 azure 门户的诊断设置下的资源列表。
似乎没有单个 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;
}
}