2013-05-22 24 views
10

Obecnie próbuję uzyskać programowo listę wszystkich maszyn wirtualnych, które mam w ramach subskrypcji Windows Azure. W tym celu próbuję użyć interfejsu API usługi Azure REST (https://management.core.windows.net) i nie używać poleceń cmdlet Power-shell.Lista maszyn wirtualnych platformy Azure za pośrednictwem interfejsu REST API

Używanie cmdletów Mogę uruchomić "Get-AzureVM" i uzyskać listę wszystkich maszyn wirtualnych z ServiceName, Name i Status bez żadnych modyfikacji. Problem polega na tym, że nie mogę znaleźć nigdzie w dokumentacji, w jaki sposób wyświetlić listę maszyn wirtualnych za pośrednictwem interfejsu API.

Przeglądałem różne interfejsy API usług Azure REST, ale nie udało mi się znaleźć niczego. Dokumentacja dla VM REST API nie pokazuje ani nie udostępnia funkcji listy.

Czy brakuje mi gdzieś podstaw?

// Create the request. 
      // https://management.core.windows.net/<subscription-id>/services/hostedservices 
      requestUri = new Uri("https://management.core.windows.net/" 
           + subscriptionId 
           + "/services/" 
           + operation); 

To jest to, czego używam do podstawy żądania. Mogę uzyskać listę hostowanych usług, ale nie maszyn wirtualnych.

+0

Możesz zagłębić się w polecenia cmdlet PowerShell i zobaczyć, jak oni to robią. – JoeBrockhaus

Odpowiedz

7

Należy uzyskać listę wszystkich usług w chmurze (usług hostowanych), a następnie właściwości wdrażania dla każdego z nich. Poszukaj instalacji w środowisku produkcyjnym/gnieździe. Następnie sprawdź typ roli "PersistentVMRole".

Maszyny wirtualne to tak naprawdę tylko rodzaj Usługi Przetwarzania w Chmurze, wraz z rolami Sieci i Pracowników. Portal zarządzania Windows Azure i polecenia cmdlet programu PowerShell usuwają je, aby ułatwić ich zrozumienie i przeglądanie.

+0

W prawo - zobacz "Uzyskaj Hosted Service Properties" - dokumentacja [tutaj] (http://msdn.microsoft.com/en-us/library/windowsazure/ee460806.aspx). –

+0

W rzeczywistości, gdy wyświetlam listę wszystkich usług, VM nie są wymienione. Tylko elementy wyświetlane w "Usługach chmurowych" w internetowym panelu sterowania. Mają różne nazwy, więc jestem tego pewien. – maximumgeek

+0

Wszystkie pomysły, dla których nie udostępniły bezpośredniego interfejsu API do uzyskania maszyny wirtualnej, ponieważ w przypadku instalacji zawierającej ponad 500 usług chmurowych pobranie listy maszyn wirtualnych zajmie dużo czasu. –

2

Wykonaj kroki dla maszyn wirtualnych aukcji:

  1. HostedServices listy za pomocą poniższego ListHostedServices
  2. dla każdej usługi z powyższym a) GetDeployment od środowiska (produkcja lub staging). LUB b) Uzyskaj wdrożenie według nazwy.
  3. W obu przypadkach należy uzyskać wartość Deployment.getRoleInstanceList(). GetRoleInstance(). GetInstanceName().
Powiązane problemy