code: func (c *BlobDiskController) DeleteVolume(diskURI string) error {
  	klog.V(4).Infof("azureDisk - begin to delete volume %s", diskURI)
  	accountName, blob, err := c.common.cloud.getBlobNameAndAccountFromURI(diskURI)
  	if err != nil {
  		return fmt.Errorf("failed to parse vhd URI %v", err)
  	}
  	key, err := c.common.cloud.GetStorageAccesskey(accountName, c.common.resourceGroup)
  	if err != nil {
  		return fmt.Errorf("no key for storage account %s, err %v", accountName, err)
  	}
  	err = c.common.cloud.deleteVhdBlob(accountName, key, blob)
  	if err != nil {
  		klog.Warningf("azureDisk - failed to delete blob %s err: %v", diskURI, err)
  		detail := err.Error()
  		if strings.Contains(detail, errLeaseIDMissing) {
  			// disk is still being used
  			// see https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storage.blob.protocol.bloberrorcodestrings.leaseidmissing.aspx
  			return volerr.NewDeletedVolumeInUseError(fmt.Sprintf("disk %q is still in use while being deleted", diskURI))
  		}
  		return fmt.Errorf("failed to delete vhd %v, account %s, blob %s, err: %v", diskURI, accountName, blob, err)
  	}
  	klog.V(4).Infof("azureDisk - blob %s deleted", diskURI)
  	return nil
  
  }
docs: // DeleteVolume deletes a VHD blob