我正在尝试使用 ResourceManagementClient 类获取资源组的标签列表。
“Microsoft.Azure.Management.Resources 2.14.1-预览版”添加自包管理器控制台
ResourceManagementClient resourceClient = new ResourceManagementClient(new Microsoft.Azure.CertificateCloudCredentials(SubscriptionId, cert));
var tags = resourceClient.Tags.List();
我收到此错误;身份验证失败:身份验证失败。 “授权”标头不存在或以无效格式提供。
在另一个示例中,该部件在下面工作;
StorageManagementClient storageClient = new StorageManagementClient(new Microsoft.WindowsAzure.CertificateCloudCredentials(SubscriptionId, cert));
这些代码部分之间存在差异。微软Azure用于第一个样本并且微软WindowsAzure用于第二个,第二个样本正在工作。
我该如何解决第一个样本的问题,你能解释一下这个问题吗?
我坚信 ResourceManagementClient 无法与 CertificateCloudCredentials 一起使用,至少对于ARM休息API https://msdn.microsoft.com/en-us/library/azure/dn790557.aspx。
我想您需要首先使用描述的登录名/密码授权用户here http://www.cloudidentity.com/blog/2014/07/08/USING-ADAL-NET-TO-AUTHENTICATE-USERS-VIA-USERNAMEPASSWORD/然后将获得的令牌与ResourceManagementClient一起使用
Update:第一个链接描述了如何在 AD 中注册应用程序 - 可以从门户完成。
接下来,您需要在 AD 中注册一个用户,该用户将成为订阅的共同管理员。
之后,使用第二个链接中的代码获取授权令牌(使用上一步中创建的登录名/密码)
最后使用该令牌进行 ResourceManagementClient 授权,如下所示(无法编译):
var credentials = new TokenCloudCredentials(<subscrtiption id>, <token>);
new ResourceManagerClient(credentials).DoSomething();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)