def put_block(self, container_name, blob_name, block, block_id,<EOL>content_md5=None, lease_id=None, timeout=None):
_validate_not_none('<STR_LIT>', container_name)<EOL>_validate_not_none('<STR_LIT>', blob_name)<EOL>_validate_not_none('<STR_LIT>', block)<EOL>_validate_not_none('<STR_LIT>', block_id)<EOL>request = HTTPRequest()<EOL>request.method = '<STR_LIT>'<EOL>request.host = self._get_host()<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(content_md5)),<EOL>('<STR_LIT>', _to_str(lease_id))<EOL>]<EOL>request.body = _get_request_body_bytes_only('<STR_LIT>', block)<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 existing blob.
:param bytes block:
    Content of the block.
: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 int content_md5:
    An MD5 hash of the block content. This hash is used to
    verify the integrity of the blob during transport. When this
    header is specified, the storage service checks the hash that has
    arrived with the one that was sent.
:param str lease_id:
    Required if the blob has an active lease.
:param int timeout:
    The timeout parameter is expressed in seconds.