Python 2.7 从软层消息队列读取

Python 2.7 从软层消息队列读取,python-2.7,message-queue,Python 2.7,Message Queue,我正在使用SoftLayer的消息队列服务。我已经创建了一个队列,其中包含一些消息,我正试图从Python脚本中读取它们 我已经安装了以下Python包。以下是我的测试文件的外观: from softlayer_messaging.queue import Queue, Message from softlayer_messaging.compat import json from softlayer_messaging.auth import QueueAuth from softlayer_

我正在使用SoftLayer的消息队列服务。我已经创建了一个队列,其中包含一些消息,我正试图从Python脚本中读取它们

我已经安装了以下Python包。以下是我的测试文件的外观:

from softlayer_messaging.queue import Queue, Message
from softlayer_messaging.compat import json
from softlayer_messaging.auth import QueueAuth
from softlayer_messaging.errors import Unauthenticated

if __name__ == '__main__':

    endpoint = "{I'm using the public host from my Message Queue credentials}"
    username = "{My username}"
    api_key = "{My API account key}"
    auth_token = None

    auth = QueueAuth(
            endpoint, username, api_key,
            auth_token=auth_token)

    auth.auth()

    queue = Queue(endpoint, "domains", auth)
    print queue.detail()
如果我在调用auth.auth()方法后显示auth\u标记,那么它会显示一个随机字符串,因此我相信身份验证是正确完成的

问题在于queue.detail()方法引发以下异常:

File "test1.py", line 23, in <module>
    print queue.detail()
  File "/usr/local/lib/python2.7/site-packages/softlayer_messaging/queue.py", line 24, in detail
    return self.get().json
  File "/usr/local/lib/python2.7/site-packages/softlayer_messaging/resource.py", line 23, in get
    return self.request('GET', *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/softlayer_messaging/queue.py", line 20, in request
    resp.raise_for_status()
  File "/usr/local/lib/python2.7/site-packages/softlayer_messaging/resource.py", line 84, in raise_for_status
    raise ResponseError("%s: %s" % (code, message), errors)
softlayer_messaging.errors.ResponseError: 404: Not found
文件“test1.py”,第23行,在
打印队列。详细信息()
文件“/usr/local/lib/python2.7/site packages/softlayer_messaging/queue.py”,第24行,详细信息
返回self.get().json
文件“/usr/local/lib/python2.7/site packages/softlayer_messaging/resource.py”,get第23行
返回self.request('GET',*args,**kwargs)
请求中的文件“/usr/local/lib/python2.7/site packages/softlayer_messaging/queue.py”,第20行
针对_状态的相应提升_()
文件“/usr/local/lib/python2.7/site packages/softlayer_messaging/resource.py”,第84行,处于raise_for_状态
raise ResponseError(“%s:%s”%(代码、消息),错误)
softlayer_messaging.errors.ResponseError:404:未找到
我能够连接到队列并从PHP脚本读取消息,因此我非常确定问题不在于队列本身。你知道我做错了什么吗


非常感谢您的帮助。

我能够找到答案,以下是我的代码:

import softlayer_messaging

if __name__ == '__main__':

    client = softlayer_messaging.get_client('{queue_account_id}', endpoint='https://dal05.mq.softlayer.net/')
    client.authenticate('{username}', '{api_key}')

    messages = client.queue('{queue_name}').pop(10)

    if 'item_count' in messages and 'items' in messages and messages['item_count'] > 0:
        for message in messages['items']:

            print message['body']
对于其他端点,可以在中找到更多示例