使用天蓝色sdk时,我看到ListByResourceGroup()
,GetByResourceGroup()
返回相同的值。它们之间有什么区别?如果我想获得子系列中vm的所有信息,应该使用什么功能?
答案 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
。
我倾向于认为这是普遍的。如果您想一想,英语中的动词就是为了这个意思。