Node.js Azure sdk - 获取虚拟机状态

时间:2017-05-03 12:40:49

标签: node.js azure sdk azure-virtual-machine

我已经开始研究node.js的azure sdk(下面的链接),有趣的是,我已经碰到了一个墙,我的图像将成为人们想要实现的最常见的任务之一Azure的REST端点正在检查虚拟机的状态。

我可以很容易地获得所有机器的列表,或者特别是一个,但是来自此服务的响应不包括VM的当前状态(运行,停止等)。

除了博客文章(https://github.com/Azure/azure-xplat-cli/issues/2565)之外,关于不同库的博客文章(https://github.com/Azure/azure-sdk-for-node)之外,关于此特定场景的信息绝对没有任何信息。

请注意,我使用的是azure-arm-compute库,它是Node.js azure sdk的一部分。

非常感谢任何帮助

github repo:{{3}}

1 个答案:

答案 0 :(得分:4)

要获取虚拟机状态,请使用函数get(resourceGroupName, vmName, optionsopt, optionalCallbackopt),并将vaule {expand: 'instanceView'}作为options参数传递。

var msRestAzure = require('ms-rest-azure');
var computeManagementClient = require('azure-arm-compute');

// Interactive Login
// It provides a url and code that needs to be copied and pasted in a browser and authenticated over there. If successful, 
// the user will get a DeviceTokenCredentials object.
msRestAzure.interactiveLogin(function(err, credentials) {
  var client = new computeManagementClient(credentials, 'ed0caab7***');

  client.virtualMachines.get('<resourceGroupName>', '<vmName>', {expand: 'instanceView'}, function(err, result, request, response) {
    if (err) console.log(err);
    console.log(result.instanceView);
  });
});

enter image description here