使用Java Rest API在Azure订阅中获取资源详细信息

时间:2016-08-26 06:30:56

标签: java azure

我在Tomcat上运行了一个Java应用程序。我想通过将用户的订阅详细信息作为输入来获取Microsoft Azure门户中安装的所有计算机的详细信息。优选地是REST API。我期待的响应与azure resource explorer中的响应相同。  我在this method之后使用此网址"https://management.core.windows.net/"+subscriptionId+"/services/disks"提出了请求。它给我这样的结果

<Disks xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
   <Disk>
     <AttachedTo>
       <DeploymentName>TEST1</DeploymentName> 
       <HostedServiceName>TEST1</HostedServiceName>
       <RoleName>TEST1</RoleName>
       </AttachedTo><OS>Linux</OS>
       <Location>South Central US</Location>
       <LogicalDiskSizeInGB>30</LogicalDiskSizeInGB>   
       <MediaLink>link.vhd</MediaLink>
       <Name>TEST1-TEST1-0-20</Name>
       <SourceImageName>imageName</SourceImageName>

当我用

调用相同的方法时
  

https://management.azure.com/subscriptions/”+ subscriptionid +“/ providers / Microsoft.Compute / virtualMachines?api-version = 2016-03-30”我收到401错误。

我甚至尝试下载SDK,ListVirtualMachines.java列出了大约600张图片,而不是我订阅的图片。

如何使用JAVA REST API实现它?

1 个答案:

答案 0 :(得分:1)

根据我的经验,此问题是由身份验证方法引起的。我做了你提出的所有要求,我得到了同样的结果。 401错误代码表示&#34;未授权&#34;。您的身份验证方法适用于旧的REST API请求,但不适用于新的 新身份验证由Azure Active Directory(AD)处理。

以下内容可能对您有用。

  1. 您可以通过此网址https://msdn.microsoft.com/en-us/library/mt163647.aspx找出Virtual Machines Rest API。
  2. 您可以了解如何通过此网址https://msdn.microsoft.com/en-us/library/dn790557.aspx对Azure Active Directory对Azure资源管理器请求进行身份验证。
  3. 希望它有所帮助。如有任何疑虑,请随时告诉我。