Azure SDK中ListByResourceGroup()和GetByResourceGroup()有什么区别?

时间:2019-07-31 02:17:05

标签: azure azure-sdk

使用天蓝色sdk时,我看到ListByResourceGroup()GetByResourceGroup()返回相同的值。它们之间有什么区别?如果我想获得子系列中vm的所有信息,应该使用什么功能?

2 个答案:

答案 0 :(得分:0)

T GetByResourceGroup(string resourceGroupName, string name)

IEnumerable<T> ListByResourceGroup(string resourceGroupName)

因此,如果使用GetByResourceGroup,则需要提供2个参数。一个是资源组名称,另一个是VM的名称。而且,您只会获得目标VM。

但是,ListByResourceGroup仅需要资源组名称。然后,您将能够获取资源组中的所有VM。

如果要获取所有VM,可以使用以下示例:

    static void Main(string[] args)
    {
        IAzure azure = Azure.Authenticate("path_to_auth_file").WithDefaultSubscription();

        var vms = azure.VirtualMachines.List();
        foreach( var vm in vms)
        {
            Console.WriteLine(vm.Name);
        }
    }

我只是输出虚拟机的名称,您就可以在foreach中做您想做的事情。

答案 1 :(得分:0)

仅添加到现有答案中,在Azure SDK LIST中总是从订阅或资源组中获取所有资源(通常是同一类型的所有资源),而GET用于获取特定资源(如果存在),因此您需要指定resourceGroup和资源name

我倾向于认为这是普遍的。如果您想一想,英语中的动词就是为了这个意思。