In order to upload a virtual hard disk (VHD) file to Azure, you will need a Storage Account and a Container within it to hold the file, stored as a Page Blob. The uncompressed VHD file should be accessible on your local system. For a Delphix engine, this file can be 127GB or more in size and can therefore take a considerable amount of time.
Microsoft have created a command-line utility to reduce the time taken to upload VHD files to Azure, downloadable from https://github.com/Microsoft/azure-vhd-utils. Rather than uploading the full 127GB file, it only uploads the allocated segments of the file which for a Delphix engine is significantly less and may be as little as 5GB.
In order to use it, you will need to install a runtime for Google's 'go' language. This is available via https://golang.org/doc/install.
Once 'go' is installed, use it to download and install the Microsoft VHD utility, as below. On macOS systems, an installation of Xcode may also be required from the App Store.
The following details will need to be substituted into the command line for the upload. These details are all available from the Azure portal.
Assuming that 'go' was installed into your user's home directory, the following command can then be used to upload the VHD file to the Azure storage account. Substitute in the path to the local VHD file including the filename, the storage account name, the storage account's access key, the Blob container name to hold the file and the name that you would like the file to appear with in the storage account. Where parameters contain special characters, they should be surrounded with single quotes, as in the example.
With the file uploaded to the Azure storage account, an 'Image' will need to be created in Azure before virtual machine's can be provisioned from the VHD file.
Selecting the newly created image will then show the Deploy VM option to deploy a new virtual machine based on the VHD file.
NOTE: If, rather than creating an Image, an Azure Virtual Disk is created directly backed by the uploaded VHD file and this is used in a virtual machine, the original uploaded VHD file will be modified by the virtual machine rather than a copy. This can cause problems if a second virtual machine needs to be deployed based on the file or if the virtual disk is moved to another VM since it will already contain configuration information from the first and may fail to boot. For this reason, an Image should be created and this used to deploy new VMs.