【发布时间】:2014-10-20 20:53:14
【问题描述】:
我在设置从 Python 脚本到 Azure 服务总线的连接时遇到问题。 C# 中的类似代码(在 Windows 上)运行良好。
from azure.servicebus import *
AZURE_SERVICEBUS_NAMESPACE='blablabla.servicebus.windows.net'
AZURE_SERVICEBUS_ISSUER='RootManageSharedAccessKey'
AZURE_SERVICEBUS_ACCESS_KEY='sdkfjlkewjrlwerjlewrjlewrjfjflsdkfjew3='
bus_service = ServiceBusService(service_namespace=AZURE_SERVICEBUS_NAMESPACE, account_key=AZURE_SERVICEBUS_ACCESS_KEY, issuer=AZURE_SERVICEBUS_ISSUER)
bus_service.create_queue('taskqueue')
这会产生以下输出:
Traceback(最近一次调用最后一次): 文件“createqueue.py”,第 9 行,在 bus_service.create_queue('taskqueue') 文件“/usr/local/lib/python2.7/dist-packages/azure/servicebus/servicebusservice.py”,第 143 行,在 create_queue request.headers = self._update_service_bus_header(请求) _update_service_bus_header 中的文件“/usr/local/lib/python2.7/dist-packages/azure/servicebus/servicebusservice.py”,第 860 行 ('授权', self._sign_service_bus_request(request))) _sign_service_bus_request 中的文件“/usr/local/lib/python2.7/dist-packages/azure/servicebus/servicebusservice.py”,第 868 行 self._get_token(request.host, request.path) + '"' _get_token 中的文件“/usr/local/lib/python2.7/dist-packages/azure/servicebus/servicebusservice.py”,第 908 行 resp = self._httpclient.perform_request(request) 文件“/usr/local/lib/python2.7/dist-packages/azure/http/httpclient.py”,第 191 行,在 perform_request self.send_request_headers(连接,request.headers) 文件“/usr/local/lib/python2.7/dist-packages/azure/http/httpclient.py”,第 170 行,在 send_request_headers 连接.endheaders() 文件“/usr/lib/python2.7/httplib.py”,第 958 行,在 endheaders 中 self._send_output(message_body) _send_output 中的文件“/usr/lib/python2.7/httplib.py”,第 818 行 自我发送(味精) 文件“/usr/lib/python2.7/httplib.py”,第 780 行,在发送中 self.connect() 文件“/usr/lib/python2.7/httplib.py”,第 1161 行,在连接中 self.timeout, self.source_address) 文件“/usr/lib/python2.7/socket.py”,第 553 行,在 create_connection 对于 getaddrinfo(host, port, 0, SOCK_STREAM) 中的 res: socket.gaierror: [Errno -2] 名称或服务未知
这里出了什么问题?
谢谢
【问题讨论】:
-
您使用的是哪个版本的 Python SDK,您何时创建了 SB 命名空间?
-
好问题:不知道,因为我像 2 天前一样拉起 pip 包。我还使用 WebInstaller 从 MSDN 中提取了 SDK,在 Windows 上使用 Python 进行了测试。结果相同。奇怪的是,我有一个创建 blob 存储容器的工作脚本。我还使用预先配置的队列进行了测试,并且只写了一条消息。这也会导致相同的错误行为。
-
我有同样的问题,还没有解决办法。不适用于 Windows 机器或使用 python 的 Linux 机器,但可与 .NET 一起使用。
标签: python-2.7 azureservicebus