gpt4 book ai didi

node.js - Azure Node SDK可获得超过50个虚拟机

转载 作者:行者123 更新时间:2023-12-03 01:39:48 24 4
gpt4 key购买 nike

我使用 Azure Node SDK 获取订阅的所有虚拟机:

var computeClient = new computeManagementClient.ComputeManagementClient(credentials, subscriptionId);
var clientNetworkManagement = new NetworkManagementClient(credentials, subscriptionId);

computeClient.virtualMachines.listAll(function (err, result) {
returnResult(result);
});

但是我订阅了超过 50 个虚拟机,并且该调用最多只返回 50 个虚拟机。

使用此函数computeClient.virtualMachines.listAll可以获得超过50个虚拟机吗? https://github.com/Azure-Samples/compute-node-manage-vm

谢谢

最佳答案

我尝试重现您的问题,但未能通过我的代码列出所有虚拟机,如下所示。在运行我的代码之前,我为我的应用程序分配了一个角色 Virtual Machine Contributor(或者您可以使用更高级别的角色,例如 ContributerOwner)我当前的订阅是在AzureAD中注册的,可以引用官方文档Manage access to Azure resources using RBAC and the Azure portal来了解它。

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

var clientId = process.env['CLIENT_ID'] || '<your client id>';
var domain = process.env['DOMAIN'] || '<your tenant id>';
var secret = process.env['APPLICATION_SECRET'] || '<your client secret>';
var subscriptionId = process.env['AZURE_SUBSCRIPTION_ID'] || '<your subscription id for listing all VMs in it>';

var computeClient;

msRestAzure.loginWithServicePrincipalSecret(clientId, secret, domain, function (err, credentials, subscriptions) {
computeClient = new ComputeManagementClient(credentials, subscriptionId);
computeClient.virtualMachines.listAll(function (err, result) {
console.log(result.length);
});
});

在 Azure 门户上,我当前的订阅中有 155 个虚拟机列表,如下图所示。然而,我的代码的结果只有 153 个虚拟机。我不知道为什么结果不同,但我的代码结果与 Azure CLI 命令 az vm list | 相同。 grep vmId | wc -l <​​.

图 1.我当前订阅中的虚拟机数量

enter image description here

图 2. 我的代码的结果

enter image description here

图 3.Azure CLI 命令的结果 az vm list|grep vmId|wc -l

enter image description here

根据我的经验,我猜您的问题是由于为您的应用分配较低权限的角色以仅列出您具有默认访问权限的虚拟机而引起的。

任何疑虑或更新都非常有助于了解您的真正问题是什么,请随时告诉我。

关于node.js - Azure Node SDK可获得超过50个虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54931327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com