【问题标题】:How to get list of Azure classic virtual networks using java API如何使用 java API 获取 Azure 经典虚拟网络列表
【发布时间】:2017-07-27 17:03:34
【问题描述】:

我正在做一个小项目来列出订阅下的所有 VirtualNetworks 详细信息。在我们的订阅中,我们既有经典网络也有 ARM 虚拟网络。我正在使用 Azure 最新的 Java SDK(1.1.2) 来提取信息。我正在使用下面的 API 调用,它只返回来自 ARM 的 VNet,而不是来自经典的 VNet。请看代码sn-p。

ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(
                clientId, tenantId, clientKey, AzureEnvironment.AZURE);
        Azure azure = Azure.authenticate(credentials).withSubscription(subscriptionId);
for (Network virtualNetwork : azure.networks().list()){
            Utils.print(virtualNetwork);
        }

如何同时获得 ARM 和经典 VNet?

【问题讨论】:

  • 考虑发布版本号——“最新的 Java SDK”会随着时间而改变。
  • 我使用的是 SDK 版本 - 1.1.2 即 'com.microsoft.azure:azure:1.1.2'

标签: java azure


【解决方案1】:

ASM(Azure 服务管理)的 API 支持列出经典虚拟网络的功能。

有以下两种方式。

  1. 使用 Azure Java SDK for ASM,您可以通过 maven 存储库 azure-svc-mgmtazure-svc-mgmt-network 安装它,然后按照 blogNetworkManagementService 进行身份验证以创建 NetworkManagementClient 到 @ 的实例987654325@list()NetworkListResponse

  2. 通过 ASM REST API List Virtual Network Sites 获取 XML 响应,并参考参考 Authenticating Service Management RequestsService to service calls using client credentials (shared secret or certificate)Create the request 来创建经过身份验证的请求以调用 REST API。

同时,您也可以参考下面这些类似的 ASM SO 线程。

  1. Azure retrieving the PublicIPAddress of VirtualMachines from Azure Java SDK
  2. MS Azure java client code throws the error

希望对你有帮助。

【讨论】:

  • 感谢您的快速回复。所以,我必须使用两个不同的 SDK,所以两个不同的 API 来提取信息。最糟糕的是,身份验证程序也不同。我们不能要求我们的客户做两种不同的事情来提取信息。我认为更好的选择是实现普通的 REST java 客户端来提取信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-20
  • 2016-10-31
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多