'Automically retrieves and locks a message from a queue for processing.
The message is guaranteed not to be delivered to other receivers (on
the same subscription only) during the lock duration period specified
in the queue description. Once the lock expires, the message will be
available to other receivers. In order to complete processing of the
message, the receiver should issue a delete command with the lock ID
received from this operation. To abandon processing of the message and
unlock it for other receivers, an Unlock Message command should be
issued, or the lock duration period can expire.
queue_name:
Name of the queue.
timeout:
Optional. The timeout parameter is expressed in seconds.'

def peek_lock_queue_message(self, queue_name, timeout='60'):

    _validate_not_none('queue_name', queue_name)
    request = HTTPRequest()
    request.method = 'POST'
    request.host = self._get_host()
    request.path = (('/' + _str(queue_name)) + '/messages/head')
    request.query = [('timeout', _int_or_none(timeout))]
    (request.path, request.query) = self._httpclient._update_request_uri_query(request)
    request.headers = self._update_service_bus_header(request)
    response = self._perform_request(request)
    return _create_message(response, self)
