10
votes

Liste des machines virtuelles Azure via API de repos

Je tente actuellement d'obtenir une liste de toutes les machines virtuelles que je rencontre sous une abonnement Windows Azure Programmatiquement. Pour cela, je tente d'utiliser l'API de repos Azure ( https://management.core.windows.net a >), et ne pas utiliser les cmdlets de Shell Power-Shell.

Utilisation des cmdlets, je peux exécuter "get-azurvm" et obtenir une liste de tous les fichiers VM avec servicename, nom et statut sans modifications. Le problème est que je ne trouve nulle part dans la documentation de la répertorie de la machine virtuelle via l'API. P>

J'ai parcouru à travers les diverses API de repos azur, mais n'ont pas pu trouver quoi que ce soit. La documentation pour API de repos VM ne montre pas ou fournit une liste fonction. P>

Suis-je manque aux fondamentaux quelque part? P>

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


1 commentaires

Vous pouvez plonger dans les cmdlets PowerShell eux-mêmes et voir exactement comment ils le font.


3 Réponses :


7
votes

Vous auriez besoin d'obtenir une liste tous les services cloud (services hébergés), puis les propriétés de déploiement pour chacun. Recherchez le déploiement dans l'environnement / emplacement de production. Ensuite, vérifiez un type de rôle de "persistancevmycrole".

VMS ne sont vraiment qu'un type de service en nuage, ainsi que des rôles Web et des travailleurs. Le portail de gestion de Windows Azure et PowerShell CMDlets résument cela à l'écart pour rendre les choses un peu plus faciles à comprendre et à voir.


3 commentaires

Droite - Jetez un coup d'œil à Obtenir des propriétés de service hébergées - Documentation ici .


En fait, lorsque je répertorie tous les services, les VMS ne sont pas répertoriés. Seuls les éléments qui apparaissent sous «Cloud Services» dans le panneau de commande basé sur le Web. Ils ont des noms distincts, alors je suis sûr de cela.


Toutes les idées Pourquoi n'ont pas fourni à API direct pour obtenir la machine virtuelle pour obtenir la machine virtuelle car pour la configuration ayant plus de 500 services cloud, il faudra beaucoup de temps pour obtenir la liste VM.



2
votes

Suivez ces étapes pour la liste VMS:

  1. Liste des services hostilités utilisant ce qui suit ListhostedServices
  2. pour chaque service de ce qui précède, a) getDeployment par environnement (production ou mise en scène). OU b) Obtenir le déploiement par nom.
  3. Dans les deux cas, obtenez la valeur du déploiement.getroleinstanCelist (). Getroleinstance (). GetinstanCename ().

0 commentaires

1
votes

Vous pouvez utiliser Azure Node SDK pour répertorier tous les VMS de votre abonnement

Compueclient.VirtualMachines.listall (fonction (err, résultat))

Plus de détails sur Azure Node SDK ici: https://github.com / Samples Azure / Compute-Nœud-Manage-VM


0 commentaires