如何获取Azure ResourceManagementClient对象的标记
我正在尝试使用ResourceManagementClient类获取资源组的标记列表。
从软件包管理器控制台添加“Microsoft.Azure.Management.Resources 2.14.1-preview”
ResourceManagementClient resourceClient = new ResourceManagementClient(new Microsoft.Azure.CertificateCloudCredentials(SubscriptionId, cert)); var tags = resourceClient.Tags.List();
我收到这个错误; AuthenticationFailed:身份validation失败。 “授权”标头不存在或以无效格式提供。
在另一个样本中,该部分正在下面工作;
StorageManagementClient storageClient = new StorageManagementClient(new Microsoft.WindowsAzure.CertificateCloudCredentials(SubscriptionId, cert));
这些代码部分之间存在差异。 Microsoft.Azure用于第一个示例, Microsoft.WindowsAzure用于第二个,第二个示例正在运行。
如何在第一个样本中解决问题,您能解释一下这个问题吗?
我坚信ResourceManagementClient无法使用CertificateCloudCredentials,至少对于ARM Rest API来说也是如此。 我猜您需要首先使用此处所述的登录/密码授权用户,然后将获取的令牌与ResourceManagementClient一起使用
更新:第一个链接描述了如何在AD中注册应用程序,可以从门户网站完成。 接下来,您需要在AD中注册将成为订阅的共同管理员的用户。 之后使用第二个链接的代码获取授权令牌(使用在prev步骤中创建的登录/密码)最后使用该令牌进行ResourceManagementClient授权,类似这样(不编译):
var credentials = new TokenCloudCredentials(, ); new ResourceManagerClient(credentials).DoSomething();