关键是,我必须使用c#和azure提供的resourcemanager在azure中分离磁盘。
atm我要关注...
var computeClient = new ComputeManagementClient(credentials) { SubscriptionId = credentials.DefaultSubscriptionId };
var ObjVirtualMachines = computeClient.VirtualMachines.GetAsync(ressgroup, virtualmname, null, new System.Threading.CancellationToken()).Result;
var disk = new DataDisk(ObjVirtualMachines.StorageProfile.DataDisks.Count,
DiskCreateOptionTypes.Empty,
name,
null,
null,
null,
null,
new ManagedDiskParametersInner(resourceid, acctype));
var newUpdateVM = computeClient.VirtualMachines.CreateOrUpdateAsync(ressgroup, virtualmname, ObjVirtualMachines);
我不明白。它的主要对象用于附加具有不同参数的磁盘。没有分离功能,所以我尝试将其设置为空。但这也不行。
我还尝试了磁盘本身。但是我必须从中分离磁盘,因此仅在磁盘上工作将无法达到目标。
任何想法如何解决此问题?
答案 0 :(得分:1)
好的,有个可行的解决方案...
var ObjVirtualMachines = computeClient.VirtualMachines.GetAsync(ressgroup, virtualmname, null, new System.Threading.CancellationToken()).Result;
var disktodetach = ObjVirtualMachines.StorageProfile.DataDisks.FirstOrDefault(p => p.Name == name);
ObjVirtualMachines.StorageProfile.DataDisks.Remove(disktodetach);
var newUpdateVM = computeClient.VirtualMachines.CreateOrUpdateAsync(ressgroup, virtualmname, ObjVirtualMachines).Result;