com.microsoft.windowsazure.exception.ServiceException: ResourceNotFound: роль WorkerRole1_IN_0 не найдена в текущей развернутой службе

Я развернул облачный сервис на лазурном портале. Развертывание прошло успешно. И я сделал несколько лазурных 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)

На лазурном портале я вижу, что WorkerRole1_IN_0 работает в этой облачной службе. Но это вызывает исключение.

Любая идея? Заранее благодарим.


person Joseph Hwang    schedule 14.06.2016    source источник
comment
Я считаю, что вы получаете эту ошибку из-за того, что пытаетесь получить информацию об облачной службе с помощью операций, связанных с виртуальными машинами.   -  person Gaurav Mantri    schedule 14.06.2016
comment
да. чтобы получить имя виртуальной машины, которое будет параметром java api. Не могли бы вы сообщить мне, как подключен виртуальный экземпляр, чтобы его можно было найти в облачных сервисах?   -  person Joseph Hwang    schedule 14.06.2016
comment
Я чиню это. Я сделал облачный сервис на классическом лазурном портале. Затем виртуальная машина была сгенерирована и добавлена ​​в sdk виртуальной машины Java. Я думаю, что это ошибка портала Azure. В любом случае спасибо за вашу информацию.   -  person Joseph Hwang    schedule 15.06.2016


Ответы (1)


Объяснение разницы между классическим порталом Azure и новым порталом Azure, которые используют разные модели для создания облачной службы и виртуальной машины.

На классическом портале Azure с использованием режима ASM (Управление службами Azure) для создания служб Azure. Но с использованием режима ARM (Azure Resource Management) для нового портала Azure.

Например, вы можете обратиться к REST API различных режимов, чтобы узнать разницу для получения информации о существующей облачной службе, см. Ниже.

  1. Используя Get Role классический REST API в режиме ASM, он связан с Пакет Java com.microsoft.windowsazure.management.compute.
  2. Используя Get information about a virtual machine REST API в режиме ARM, он связан с Java пакет com.microsoft.azure.management.compute.

Итак, согласно вашему коду, вы используете Service Management SDK для получения информации для облачной службы, созданной на классическом портале, а не для облачной службы, созданной на новом портале, потому что облачные службы, созданные в разных режимах, имеют разные структуры модели.

person Peter Pan    schedule 15.06.2016