我正在寻找类似于this但使用JAVA rest API调用的东西。 我想获取所有资源(包括虚拟机,存储磁盘,网络设备等)的列表及其基本属性(如IP地址,磁盘空间等) 我尝试在this link之后进行API调用。
当我向此网址发出http请求时
"https://management.azure.com/subscriptions/"+subscriptionId+"/resourceGroups/"+resourceGroupName+"/providers/Microsoft.Compute/virtualMachines?api-version="+apiVersion
但是我收到401错误。我拨打了正确的网址吗?如果不是我应该拨打哪个网址?
答案 0 :(得分:2)
但是我收到401错误。我拨打了正确的网址吗?如果不 我应该拨打哪个网址?
您正在调用正确的网址,但是您为API调用提供了错误的参数。您提到的link
用于拨打Azure Service Management API
电话,但您需要点击的是拨打Azure Resource Manager (ARM) API
个电话。
与Azure Service Management API类似,需要对ARM API请求进行身份验证。如果是前者,则使用管理证书对请求进行身份验证。如果是后者,则需要使用通过针对Azure AD对用户进行身份验证而获得的令牌。
有关验证/授权ARM API请求的详细信息,请参阅此链接:https://azure.microsoft.com/en-us/documentation/articles/resource-manager-api-authentication/。
为了列出资源组中的所有资源,您绝对可以使用ARM REST API。但是现在可以直接使用SDK。要了解有关这些SDK的更多信息,请参阅以下链接:https://azure.microsoft.com/en-in/blog/azure-resource-manager-preview-sdks/。