2016-11-21 45 views
0

我已經使用Resource Manager部署模型部署了一個虛擬機。使用資源管理器部署和休息API獲取Azure VM

Using rest api as described here我能夠獲得有關虛擬機的信息。
我期待獲得電源狀態,IP地址和機器大小。然而,爲了獲得所有的信息,我需要3個不同的電話 https://management.azure.com/subscriptions/ {} SubscriptionId/resourceGroups/{}資源組{/providers/Microsoft.Compute/virtualmachines/服務器名}

https://management.azure.com/subscriptions/ {} SubscriptionId/resourceGroups/{}資源組/供應商/Microsoft.Compute/virtualmachines/{ServerName}/InstanceView

https://management.azure.com/subscriptions/ {} SubscriptionId/resourceGroups/{}資源組{/providers/Microsoft.Network/networkInterfaces/服務器名} _NIC

有沒有辦法讓所有這個信息在1個電話中?

回答

1

由於使用資源管理器部署VM,因此在不同提供者(計算和網絡)下的狀態,IP地址和大小信息。當前可能無法在通話中獲取虛擬機信息和網絡信息。

隨着Microsoft Azure Management Client Library (Fluent),我們可以得到VM信息(電源狀態,機器大小,IP地址)。實際上,它調用REST API 兩次。關於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。很容易獲得虛擬機(角色) 有關電源狀態,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; 
相關問題