0

我在 azure 门户中部署了云服务。部署成功。我做了一些像下面这样的 azure java sdk 代码,

ComputeManagementClient cmclient = ComputeManagementService.create(config); 

 VirtualMachineOperations vmoperat = cmclient.getVirtualMachinesOperations(); 
 VirtualMachineGetResponse vmresp = vmoperat.get("AzurecloudDNS", AzurecloudDNSStaging20160613193121","WorkerRole1_IN_0");

但它会引发以下异常,

Exception in thread "main" com.microsoft.windowsazure.exception.ServiceException: ResourceNotFound: Role WorkerRole1_IN_0 was not found in the currently deployed service.
 at com.microsoft.windowsazure.exception.ServiceException.createFromXml(ServiceException.java:206)
 at com.microsoft.windowsazure.management.compute.VirtualMachineOperationsImpl.get(VirtualMachineOperationsImpl.java:6517)
 at com.aaa.azure.JavaClient.main(JavaClient.java:81)

在 azure 门户中,我可以看到 WorkerRole1_IN_0 正在此云服务中工作。但它抛出异常。

任何想法?感谢先进。

4

1 回答 1

0

解释 Azure 经典门户和 Azure 新门户之间的区别,它们使用不同的模型来创建云服务和虚拟机。

在 Azure 经典门户上,使用 ASM 模式(Azure 服务管理)创建 Azure 服务。但是对 Azure 新门户使用 ARM 模式(Azure 资源管理)。

例如,您可以参考不同模式的 REST API 来了解获取现有云服务信息的区别,请参见下文。

  1. 在 ASM 模式下使用Get Role经典的 REST API,它与 Java 包有关com.microsoft.windowsazure.management.compute
  2. 在 ARM 模式下使用Get information about a virtual machineREST API,它与 Java 包有关com.microsoft.azure.management.compute

因此,根据您的代码,您正在使用服务管理 SDK 获取在经典门户上创建的云服务的信息,而不是在新门户上创建的云服务的信息,因为在不同模式下创建的云服务具有不同的模型结构。

于 2016-06-15T09:47:09.933 回答