def update_message(self, queue_name, message_id, pop_receipt, visibility_timeout, <EOL>content=None, timeout=None):
_validate_encryption_required(self.require_encryption, self.key_encryption_key)<EOL>_validate_not_none('<STR_LIT>', queue_name)<EOL>_validate_not_none('<STR_LIT>', message_id)<EOL>_validate_not_none('<STR_LIT>', pop_receipt)<EOL>_validate_not_none('<STR_LIT>', visibility_timeout)<EOL>request = HTTPRequest()<EOL>request.method = '<STR_LIT>'<EOL>request.host_locations = self._get_host_locations()<EOL>request.path = _get_path(queue_name, True, message_id)<EOL>request.query = {<EOL>'<STR_LIT>': _to_str(pop_receipt),<EOL>'<STR_LIT>': _int_to_str(visibility_timeout),<EOL>'<STR_LIT>': _int_to_str(timeout)<EOL>}<EOL>if content is not None:<EOL><INDENT>request.body = _get_request_body(_convert_queue_message_xml(content, self.encode_function,<EOL>self.key_encryption_key))<EOL><DEDENT>return self._perform_request(request, _parse_queue_message_from_headers)<EOL>
Updates the visibility timeout of a message. You can also use this
operation to update the contents of a message.

This operation can be used to continually extend the invisibility of a 
queue message. This functionality can be useful if you want a worker role 
to "lease" a queue message. For example, if a worker role calls get_messages 
and recognizes that it needs more time to process a message, it can 
continually extend the message's invisibility until it is processed. If 
the worker role were to fail during processing, eventually the message 
would become visible again and another worker role could process it.

If the key-encryption-key field is set on the local service object, this method will
encrypt the content before uploading.

:param str queue_name:
    The name of the queue containing the message to update.
:param str message_id:
    The message id identifying the message to update.
:param str pop_receipt:
    A valid pop receipt value returned from an earlier call
    to the :func:`~get_messages` or :func:`~update_message` operation.
:param int visibility_timeout:
    Specifies the new visibility timeout value, in seconds,
    relative to server time. The new value must be larger than or equal
    to 0, and cannot be larger than 7 days. The visibility timeout of a
    message cannot be set to a value later than the expiry time. A
    message can be updated until it has been deleted or has expired.
:param obj content:
    Message content. Allowed type is determined by the encode_function 
    set on the service. Default is str.
:param int timeout:
    The server timeout, expressed in seconds.
:return: 
    A list of :class:`~azure.storage.queue.models.QueueMessage` objects. For convenience,
    this object is also populated with the content, although it is not returned by the service.
:rtype: list of :class:`~azure.storage.queue.models.QueueMessage`