c# - 使用 C# 创建 Azure DataDisk

标签 c# azure

我正在尝试使用 C# 在 Azure 中创建 DataDisk。但似乎没有任何作用。不过可以使用 PowerShell 来完成。

我使用Azure SDK。 下面是一段代码,用于创建磁盘并附加它。

var vm = azure.VirtualMachines.List().Where(x => x.Name.ToLower() == vmName.ToLower()).FirstOrDefault();

var disk = new DataDisk(
                vm.StorageProfile.DataDisks.Count + 1,
                DiskCreateOptionTypes.Empty,
                vmName + "_disk");

disk.DiskSizeGB = 128;
disk.Validate();
vm.StorageProfile.DataDisks.Add(disk);
vm.StorageProfile.Validate();
vm.Update();

我没有任何错误。但什么也没有被创造。

有人可以告诉我我做错了什么吗?

最佳答案

您在 vm.Update() 之后缺少 Apply() 方法。请在代码中使用 vm.Update().Apply() 而不是 vm.Update()

这是我的测试代码,工作正常:

#your other code.
DataDisk disk = new DataDisk(vm.StorageProfile.DataDisks.Count + 1,
                DiskCreateOptionTypes.Empty,
                "ivandisk222");

disk.DiskSizeGB = 15;
disk.Validate();
vm.StorageProfile.DataDisks.Add(disk);
vm.StorageProfile.Validate();

vm.Update().Apply();

代码完成后,可以看到数据盘已添加到虚拟机中:

enter image description here

关于c# - 使用 C# 创建 Azure DataDisk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58149490/

相关文章:

c# - TextBlock 滚动在 WPF 中不起作用

c# - 将结构从 C# 编码到 C++ DLL

c# - MemoryMappedFile CreateViewAccessor 抛出 "Not enough storage is available to process this command."

c# - MVC URL 模式中的 OR 运算符

azure - 应用服务交换槽期间出现多个 Redis 连接异常(无可用连接)

javascript - Angular 6 TypeScript 中的 Azure Blob 元数据

asp.net - 如何在 Windows Azure Web App 上配置错误响应格式

azure - Azure 上的选择性资源/基础设施隔离。可能的?

带有计时器触发器的Azure函数: UnscheduledInvocationReason

c# - 基于异步/等待的 Windows 服务中的同步 I/O