问题描述
我想调整操作系统磁盘空间的大小,但收到“仅在创建 VM 或释放 VM 时才允许调整磁盘大小。”
Microsoft.Azure.Management.ResourceManager.Fluent.Core.RestClient restClient = GetRestClient(requestObject);
var computeClient = new ComputeManagementClient(restClient) { SubscriptionId = requestObject.SubscriptionId };
var ObjVirtualMachines = computeClient.VirtualMachines.GetAsync(requestObject.ResourceGroupName,requestObject.VirtualMachineName,null,new System.Threading.CancellationToken()).Result;
var disktodetach = ObjVirtualMachines.StorageProfile.Osdisk;
ObjVirtualMachines.StorageProfile.Osdisk.diskSizeGB = requestObject.diskSize;
var newUpdateVM = computeClient.VirtualMachines.CreateOrUpdateAsync(requestObject.ResourceGroupName,ObjVirtualMachines).Result;
resizedisk = newUpdateVM.ProvisioningState;
解决方法
谢谢1_bug。发布您的建议作为答案以帮助其他社区成员。
您不能为正在运行的 VM 增加磁盘大小。相反,您可以通过关闭 VM 并执行以下代码来增加 VM 的磁盘大小。
[Newtonsoft.Json.JsonProperty(PropertyName="properties.diskSizeGB")]
public int? DiskSizeGB { get; set; }
在使用上述代码之前检查天气您的代码包括 creationData.creationoption 字段为空。
欲了解更多信息,请查看 Disk.DiskSizeGB Property