Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从vm azure c分离磁盘#_C#_Azure - Fatal编程技术网

C# 从vm azure c分离磁盘#

C# 从vm azure c分离磁盘#,c#,azure,C#,Azure,关键是,我必须在azure中分离一个磁盘,使用c#和azure提供的resourcemanager 自动取款机我有以下 var computeClient = new ComputeManagementClient(credentials) { SubscriptionId = credentials.DefaultSubscriptionId }; var ObjVirtualMachines = computeClient.VirtualMachines.GetAsync(ressg

关键是,我必须在azure中分离一个磁盘,使用c#和azure提供的resourcemanager

自动取款机我有以下

  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函数,所以我尝试了,将其设置为空。但这也行不通

我还对磁盘本身进行了实验。但我必须将磁盘与之分离,因此仅使用磁盘无法达到目标


有什么办法解决这个问题吗?

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

   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;

不知道你是否知道,但如果答案正确,你可以将自己的答案标记为已接受。这有助于其他人看到问题已经有了答案。是的,最好等一等,看看是否没有其他答案!我只是想确定你已经知道了通常建议您使用
wait
异步方法,而不是点击
。Result
()-您这样做有什么原因吗?当然,我们有自己的自动化软件,其中的wait有问题。结果在这里更好,但你是对的,等待是更好的选择