Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取Azure ResourceManagementClient对象的标记_C#_Azure_Cloud - Fatal编程技术网

C# 如何获取Azure ResourceManagementClient对象的标记

C# 如何获取Azure ResourceManagementClient对象的标记,c#,azure,cloud,C#,Azure,Cloud,我正在尝试使用ResourceManagementClient类获取资源组的标记列表 “Microsoft.Azure.Management.Resources 2.14.1-preview”是从包管理器控制台添加的 我得到这个错误; 身份验证失败:身份验证失败。“授权”标题不存在或格式无效。 在另一个样本中,零件在下面工作 StorageManagementClient storageClient = new StorageManagementClient(new Microsoft.Wind

我正在尝试使用ResourceManagementClient类获取资源组的标记列表

“Microsoft.Azure.Management.Resources 2.14.1-preview”是从包管理器控制台添加的

我得到这个错误; 身份验证失败:身份验证失败。“授权”标题不存在或格式无效。

在另一个样本中,零件在下面工作

StorageManagementClient storageClient = new StorageManagementClient(new Microsoft.WindowsAzure.CertificateCloudCredentials(SubscriptionId, cert));
这些代码部分之间存在差异Microsoft.Azure用于第一个示例,而Microsoft.WindowsAzure用于第二个示例,第二个示例正在运行


我如何在第一个示例中解决问题,您能解释一下问题吗?

我坚信ResourceManagementClient无法使用CertificateCloudCredentials,至少对我们来说是这样的。 我想您需要首先使用所述的登录名/密码对用户进行授权,然后将获得的令牌用于ResourceManagementClient

更新: 第一个链接描述了如何在AD中注册应用程序-可以从门户网站完成。 接下来,您需要在AD中注册一个用户,该用户将成为订阅的共同管理员。 之后,从第二个链接获取带有代码的授权令牌(使用上一步创建的登录名/密码) 最后,请将该令牌用于ResourceManagementClient授权,类似于以下内容(不编译):

var-credentials=newtokencloudcredentials(,);
新建ResourceManagerClient(凭据).DoSomething();

Hi@horseman,我们正在开发自动化应用程序,不能使用用户交互。你知道其他的方法吗?我们也在做同样的事情,你只需要结合我答案中的两个链接
StorageManagementClient storageClient = new StorageManagementClient(new Microsoft.WindowsAzure.CertificateCloudCredentials(SubscriptionId, cert));
var credentials = new TokenCloudCredentials(<subscrtiption id>, <token>);
new ResourceManagerClient(credentials).DoSomething();