C# 从vm azure c分离磁盘#
关键是,我必须在azure中分离一个磁盘,使用c#和azure提供的resourcemanager 自动取款机我有以下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
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有问题。结果在这里更好,但你是对的,等待是更好的选择