是否可以获取ClassicCompute
虚拟机的列表并使用Azure资源管理器库对其进行管理?
使用Azure预览门户创建的虚拟机和存储帐户也是经典版本。
是否不支持使用azure预览门户创建V2虚拟机,或者我是否缺少任何设置?
Azure预览门户最近似乎已经更新,允许您选择是要"经典"vm还是使用新ARM模板的vm。
为此:
转到"新建",选择您的模板,如"Windows Server 2012 R2 Datacenter",在"创建"命令按钮上方的下拉框中,有一个标题为"选择计算堆栈"的部分。这将允许您选择"使用服务管理堆栈(经典)"-(即V1经典计算)或"使用资源管理器堆栈"-(如V2经典计算)。
希望能有所帮助!
Azure预览门户同时支持V1和V2虚拟机。您可以使用浏览所有->虚拟机创建V2虚拟机,并使用浏览所有->Virtual Machines(经典)创建V1虚拟机
您可以获得V1&V2虚拟机使用以下代码。ListRecursiveAsync()
只是我为处理多页结果的可能性而抛出的一个扩展方法。
此外,为了了解ARM API的功能,Azure资源管理器)是一个很好的工具。
using (var client = new ResourceManagementClient(creds))
{
var v1ComputeParams = new ResourceListParameters { ResourceType = "Microsoft.ClassicCompute/virtualMachines" };
var v2ComputeParams = new ResourceListParameters { ResourceType = "Microsoft.Compute/virtualMachines" };
var v1ComputeResult = await client.ListRecursiveAsync(v1ComputeParams, null);
var v2ComputeResult = await client.ListRecursiveAsync(v2ComputeParams, null);
}
/// <summary>
/// Gets the list of resources, recursing until ResourceListResult.NextLink is empty.
/// </summary>
/// <param name="client"></param>
/// <param name="parameters">Optional. Query parameters. If null is passed returns all resources from all resource groups.</param>
/// <param name="nextLink"></param>
/// <returns></returns>
public static async Task<IList<GenericResourceExtended>> ListRecursiveAsync(this ResourceManagementClient client, ResourceListParameters listParams, string nextLink)
{
var rValue = new List<GenericResourceExtended>();
ResourceListResult computeList = null;
if (!string.IsNullOrWhiteSpace(nextLink))
{
computeList = await client.Resources.ListNextAsync(nextLink);
}
else
{
computeList = await client.Resources.ListAsync(listParams);
}
rValue.AddRange(computeList.Resources);
if (!string.IsNullOrWhiteSpace(computeList.NextLink))
{
var nextResult = await ListRecursiveAsync(client, null, computeList.NextLink);
rValue.AddRange(nextResult);
}
return rValue;
}