【问题标题】:Get details of all resources in my Azure Subscription using JAVA API使用 JAVA API 获取我的 Azure 订阅中所有资源的详细信息
【发布时间】:2016-12-30 08:00:32
【问题描述】:

我正在寻找类似于 this 但使用 JAVA REST API 调用的东西。 我想获取所有资源(包括虚拟机、存储磁盘、网络设备等)及其基本属性(如 IP 地址、磁盘空间等)的列表 我尝试在this link 之后进行 API 调用。

当我向这个 url 发出 http 请求时

"https://management.azure.com/subscriptions/"+subscriptionId+"/resourceGroups/"+resourceGroupName+"/providers/Microsoft.Compute/virtualMachines?api-version="+apiVersion

但我收到 401 错误。我在调用正确的 URL 吗?如果不是,我应该调用哪个 URL?

【问题讨论】:

    标签: java azure


    【解决方案1】:

    但我收到 401 错误。我在调用正确的 URL 吗?如果不 我应该调用哪个 URL?

    您调用的是正确的 URL,但是您为 API 调用提供了不正确的参数。您提到的link 是用于拨打Azure Service Management API 电话,但是您需要做的是拨打Azure Resource Manager (ARM) API 电话。

    与 Azure 服务管理 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/

    【讨论】:

    • 我已将 sdk 添加为 eclipse 中的新项目。在 Azure 门户中使用 AD 进行身份验证。现在,当我运行 ListVirtualMachineImages.java 时,我得到了 500 多个项目,但我只有一个虚拟机。我应该运行哪个文件来获取我的资产的详细信息?
    • 我建议提出一个全新的问题。请包含您的代码和您看到的输出。
    • 如果我使用上面提到的 url 进行 rest api 调用,我应该传递哪些参数?
    • 你能告诉我如何创建令牌吗?
    • 有人能告诉我如何创建令牌以从 Postman 或 java 代码传递吗?
    猜你喜欢
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多