从存储在另一个存储帐户中的VHD创建操作系统磁盘

时间:2019-08-06 07:12:13

标签: azure-sdk-.net azure-sdk

具有一个现有的PowerShell脚本,该脚本使用存储在存储帐户中的预先创建的VHD创建虚拟机(为提高速度而跨区域存储帐户复制)。

在PS中,我们可以使用以下内容:

XSS

$ storageAccountId类似于:

New-AzureRmDisk -DiskName $osDiskName -Disk `
(New-AzureRmDiskConfig -AccountType Premium_LRS  `
        -Location $location -CreateOption Import `
        -StorageAccountId $storageAccountId `
        -SourceUri $osVHDUri) `
    -ResourceGroupName $resourceGroupName
$osDisk = Get-AzureRMDisk -DiskName $osDiskName -ResourceGroupName $resourceGroupName

$VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -ManagedDiskId $osDisk.Id -CreateOption Attach -Windows -StorageAccountType Premium_LRS

在.net Azure SDK中,我看不到复制此方法的方法吗?当我尝试创建时,是说找不到,但是我的PS可以正常工作。

1 个答案:

答案 0 :(得分:0)

如果要使用现有磁盘而不是市场映像,请使用以下代码:

var managedDisk = azure.Disks.Define("myosdisk")
    .WithRegion(location)
    .WithExistingResourceGroup(groupName)
    .WithWindowsFromVhd("https://mystorage.blob.core.windows.net/vhds/myosdisk.vhd")
    .WithSizeInGB(128)
    .WithSku(DiskSkuTypes.PremiumLRS)
    .Create();

azure.VirtualMachines.Define("myVM")
    .WithRegion(location)
    .WithExistingResourceGroup(groupName)
    .WithExistingPrimaryNetworkInterface(networkInterface)
    .WithSpecializedOSDisk(managedDisk, OperatingSystemTypes.Windows)
    .WithExistingAvailabilitySet(availabilitySet)
    .WithSize(VirtualMachineSizeTypes.StandardDS1)
    .Create();

选中此link以获得更多参考。希望对您有所帮助。