c# - 如何使用 ResourcesManagementClient 从 API 获取 Azure 资源运行状况?
问题描述
我特别想获取此处描述的信息:https ://docs.microsoft.com/en-us/rest/api/resourcehealth/availabilitystatuses/listbysubscriptionid
是ResourcesManagementClient
要走的路吗?
如果是这样,我如何使用它从Microsoft.ResourceHealth提供程序获取可用性状态?
解决方案
关于这个问题,请参考以下步骤
创建服务主体并将 Azure RABC 角色分配给 sp
安装 SDK
<PackageReference Include="Microsoft.Azure.Management.ResourceManager" Version="3.13.0-preview" />
<PackageReference Include="Microsoft.Identity.Client" Version="4.30.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);
推荐阅读
- java - 无响应的套接字读取缓冲区
- java - 尝试启动我的 Spring Boot 应用程序时,即使我设置了它们,我也需要谷歌凭据
- ios - 将 TableViewCell 传递给新的 TableView(在顶部)Swift
- javascript - 如何使用 moment.js 将日期时间字符串转换为一分钟前/一天前/一个月前/一年前格式
- react-admin - 如何从 blob URL 转换为二进制文件?
- python - 找不到按钮元素、硒、python
- javascript - 有没有办法将本地 json 文件加载到 localstorage 中?
- flutter - 如何在颤动中将 Image 对象转换为 File 对象?
- api - TD Ameritrade API 可以访问 2 级数据吗?
- assembly - 如何在汇编语言中循环弹出堆栈