我已经开始研究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}}
答案 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);
});
});