从vm azure c#分离磁盘



关键是,我必须使用c#和azure提供的资源管理器在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);

我没弄明白。它的主要功能是连接一个不同参数的磁盘。没有deattach功能,所以我尝试了一下,将其设置为Empty。但这也不行。

我还对磁盘本身进行了实验。但是我必须将磁盘从中分离出来,所以单独处理磁盘是达不到目的的。

有什么想法可以解决这个问题吗?

好的,得到了一个有效的解决方案。。。

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;

最新更新