def put_block_from_url(self, container_name, blob_name, copy_source_url, source_range_start, source_range_end,<EOL>block_id, source_content_md5=None, lease_id=None, timeout=None):
_validate_encryption_unsupported(self.require_encryption, self.key_encryption_key)<EOL>_validate_not_none('<STR_LIT>', container_name)<EOL>_validate_not_none('<STR_LIT>', blob_name)<EOL>_validate_not_none('<STR_LIT>', copy_source_url)<EOL>_validate_not_none('<STR_LIT>', source_range_start)<EOL>_validate_not_none('<STR_LIT>', source_range_end)<EOL>_validate_not_none('<STR_LIT>', block_id)<EOL>request = HTTPRequest()<EOL>request.method = '<STR_LIT>'<EOL>request.host_locations = self._get_host_locations()<EOL>request.path = _get_path(container_name, blob_name)<EOL>request.query = {<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': _encode_base64(_to_str(block_id)),<EOL>'<STR_LIT>': _int_to_str(timeout),<EOL>}<EOL>request.headers = {<EOL>'<STR_LIT>': _to_str(lease_id),<EOL>'<STR_LIT>': copy_source_url,<EOL>'<STR_LIT>': '<STR_LIT>' + _to_str(source_range_start) + '<STR_LIT:->' + _to_str(source_range_end),<EOL>'<STR_LIT>': source_content_md5,<EOL>}<EOL>self._perform_request(request)<EOL>
Creates a new block to be committed as part of a blob.

:param str container_name:
    Name of existing container.
:param str blob_name:
    Name of blob.
:param str copy_source_url:
    The URL of the source data. It can point to any Azure Blob or File, that is either public or has a
    shared access signature attached.
:param int source_range_start:
    This indicates the start of the range of bytes(inclusive) that has to be taken from the copy source.
:param int source_range_end:
    This indicates the end of the range of bytes(inclusive) that has to be taken from the copy source.
:param str block_id:
    A valid Base64 string value that identifies the block. Prior to
    encoding, the string must be less than or equal to 64 bytes in size.
    For a given blob, the length of the value specified for the blockid
    parameter must be the same size for each block. Note that the Base64
    string must be URL-encoded.
:param str source_content_md5:
    If given, the service will calculate the MD5 hash of the block content and compare against this value.
:param str lease_id:
    Required if the blob has an active lease.
:param int timeout:
    The timeout parameter is expressed in seconds.