Python和Azure服务总线
我在设置从Python脚本到Azure服务总线的连接时遇到问题。 C#中的类似代码(在Windows上)运行良好。Python和Azure服务总线
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 (most recent call last): File "createqueue.py", line 9, in bus_service.create_queue('taskqueue') File "/usr/local/lib/python2.7/dist-packages/azure/servicebus/servicebusservice.py", line 143, in create_queue request.headers = self._update_service_bus_header(request) File "/usr/local/lib/python2.7/dist-packages/azure/servicebus/servicebusservice.py", line 860, in _update_service_bus_header ('Authorization', self._sign_service_bus_request(request))) File "/usr/local/lib/python2.7/dist-packages/azure/servicebus/servicebusservice.py", line 868, in _sign_service_bus_request self._get_token(request.host, request.path) + '"' File "/usr/local/lib/python2.7/dist-packages/azure/servicebus/servicebusservice.py", line 908, in _get_token resp = self._httpclient.perform_request(request) File "/usr/local/lib/python2.7/dist-packages/azure/http/httpclient.py", line 191, in perform_request self.send_request_headers(connection, request.headers) File "/usr/local/lib/python2.7/dist-packages/azure/http/httpclient.py", line 170, in send_request_headers connection.endheaders() File "/usr/lib/python2.7/httplib.py", line 958, in endheaders self._send_output(message_body) File "/usr/lib/python2.7/httplib.py", line 818, in _send_output self.send(msg) File "/usr/lib/python2.7/httplib.py", line 780, in send self.connect() File "/usr/lib/python2.7/httplib.py", line 1161, in connect self.timeout, self.source_address) File "/usr/lib/python2.7/socket.py", line 553, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): socket.gaierror: [Errno -2] Name or service not known
这是怎么回事错在这里?
感谢
检查您在microsift上与servicebus服务的连接。 我有同样的问题,并与wlan0连接问题 - 我失去了我的IP分配的DHCP服务器。 或者您的DNS无法正常工作。
您正在使用哪个版本的Python SDK,以及您何时创建了SB命名空间? – BrentDaCodeMonkey 2014-08-27 15:02:32
好问题:不知道,因为我刚刚2天前就拉起了pip软件包。我还用Windows上的Python进行了测试,SDK使用WebInstaller从MSDN中提取。同样的结果。奇怪我有一个工作脚本创建一个blob存储容器。我还测试了一个预先配置好的队列,并且只写了一条消息。这也会导致相同的错误行为。 – mvhoorn 2014-08-29 05:55:29
我有同样的问题,没有解决方案。不是从Windows机器工作,也不是使用Python的Linux机器,而是与.NET一起工作。 – vvucetic 2014-08-29 14:15:55