def get_messages(self, queue_name, num_messages=None,<EOL>visibility_timeout=None, timeout=None):
_validate_decryption_required(self.require_encryption, self.key_encryption_key,<EOL>self.key_resolver_function)<EOL>_validate_not_none('<STR_LIT>', queue_name)<EOL>request = HTTPRequest()<EOL>request.method = '<STR_LIT:GET>'<EOL>request.host_locations = self._get_host_locations()<EOL>request.path = _get_path(queue_name, True)<EOL>request.query = {<EOL>'<STR_LIT>': _to_str(num_messages),<EOL>'<STR_LIT>': _to_str(visibility_timeout),<EOL>'<STR_LIT>': _int_to_str(timeout)<EOL>}<EOL>return self._perform_request(request, _convert_xml_to_queue_messages,<EOL>[self.decode_function, self.require_encryption,<EOL>self.key_encryption_key, self.key_resolver_function])<EOL>
Retrieves one or more messages from the front of the queue.

When a message is retrieved from the queue, the response includes the message 
content and a pop_receipt value, which is required to delete the message. 
The message is not automatically deleted from the queue, but after it has 
been retrieved, it is not visible to other clients for the time interval 
specified by the visibility_timeout parameter.

If the key-encryption-key or resolver field is set on the local service object, the messages will be
decrypted before being returned.

:param str queue_name:
    The name of the queue to get messages from.
:param int num_messages:
    A nonzero integer value that specifies the number of
    messages to retrieve from the queue, up to a maximum of 32. If
    fewer are visible, the visible messages are returned. By default,
    a single message is retrieved from the queue with this 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 1
    second, and cannot be larger than 7 days. The visibility timeout of 
    a message can be set to a value later than the expiry time.
:param int timeout:
    The server timeout, expressed in seconds.
:return: A :class:`~azure.storage.queue.models.QueueMessage` object representing the information passed.
:rtype: list of :class:`~azure.storage.queue.models.QueueMessage`