'Upload an object currently located on a disk.
@inherits: :class:`StorageDriver.upload_object`
:param ex_blob_type: Storage class
:type ex_blob_type: ``str``
:param ex_use_lease: Indicates if we must take a lease before upload
:type ex_use_lease: ``bool``'

def upload_object(self, file_path, container, object_name, extra=None, verify_hash=True, ex_blob_type=None, ex_use_lease=False):

    if (ex_blob_type is None):
        ex_blob_type = self.ex_blob_type
    file_size = os.stat(file_path).st_size
    object_size = file_size
    self._check_values(ex_blob_type, file_size)
    if ((ex_blob_type == 'PageBlob') or (file_size > AZURE_BLOCK_MAX_SIZE)):
        if (ex_blob_type == 'BlockBlob'):
            object_size = None
    return self._put_object(container=container, object_name=object_name, object_size=object_size, file_path=file_path, extra=extra, verify_hash=verify_hash, blob_type=ex_blob_type, use_lease=ex_use_lease)
