code: func (c *BlobDiskController) CreateVolume(blobName, accountName, accountType, location string, requestGB int) (string, string, int, error) {
  	account, key, err := c.common.cloud.EnsureStorageAccount(accountName, accountType, string(defaultStorageAccountKind), c.common.resourceGroup, location, dedicatedDiskAccountNamePrefix)
  	if err != nil {
  		return "", "", 0, fmt.Errorf("could not get storage key for storage account %s: %v", accountName, err)
  	}
  
  	client, err := azstorage.NewBasicClientOnSovereignCloud(account, key, c.common.cloud.Environment)
  	if err != nil {
  		return "", "", 0, err
  	}
  	blobClient := client.GetBlobService()
  
  	// create a page blob in this account's vhd container
  	diskName, diskURI, err := c.createVHDBlobDisk(blobClient, account, blobName, vhdContainerName, int64(requestGB))
  	if err != nil {
  		return "", "", 0, err
  	}
  
  	klog.V(4).Infof("azureDisk - created vhd blob uri: %s", diskURI)
  	return diskName, diskURI, requestGB, err
  }
docs: // CreateVolume creates a VHD blob in a storage account that has storageType and location using the given storage account.
  // If no storage account is given, search all the storage accounts associated with the resource group and pick one that
  // fits storage type and location.