从vm azure c#分离磁盘

时间:2018-11-22 14:33:24

标签: c# azure

关键是,我必须使用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);

我不明白。它的主要对象用于附加具有不同参数的磁盘。没有分离功能,所以我尝试将其设置为空。但这也不行。

我还尝试了磁盘本身。但是我必须从中分离磁盘,因此仅在磁盘上工作将无法达到目标。

任何想法如何解决此问题?

1 个答案:

答案 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;