VMはResource Managerとともにデプロイされてから、さまざまなプロバイダ(ComputeおよびNetwork)の下に状態、IPアドレス、およびサイズ情報を記述します。おそらく、現在の呼び出しでVM情報とネットワーク情報を取得する方法がありません。
Microsoft Azure Management Client Library (Fluent)では、VM情報(電源状態、マシンサイズ、IPアドレス)を取得できます。実際には、REST API を2回と呼びます。 Azure認証については、how to create an authentication fileを参照してください。
AzureCredentials credentials = AzureCredentials.FromFile("Full path of your AzureAuthFile");
var azure = Azure
.Configure()
.WithLogLevel(HttpLoggingDelegatingHandler.Level.BASIC)
.Authenticate(credentials)
.WithDefaultSubscription();
foreach (var virtualMachine in azure.VirtualMachines.ListByGroup("Your Resource Group Name").Where(virtualMachine => virtualMachine.ComputerName.Equals("vmName")))
{
var state = virtualMachine.PowerState;
var size = virtualMachine.Size;
var ip = virtualMachine.GetPrimaryPublicIpAddress().IpAddress; //call Rest API again
}
CloudServiceでデプロイされた場合は、Windows Azure management libraryを使用できます。 VM(役割)を取得するのは簡単です 電源状態、IPアドレス、およびマシンサイズに関する情報。
var certificate = new CertificateCloudCredentials(subscriptionId, x509Certificate);
var computeManagementClient = new ComputeManagementClient(certificate);
var deployments = await computeManagementClient.Deployments.GetByNameAsync (hostedServiceName,"Your Deployment Name");
var state = deployments.RoleInstances.First().PowerState;
var ipAddress = deployments.RoleInstances.First().IPAddress;
var size = deployments.RoleInstances.First().InstanceSize;