Python 2.7 Python和Azure服务总线

Python 2.7 Python和Azure服务总线,python-2.7,azureservicebus,Python 2.7,Azureservicebus,我在设置从Python脚本到Azure服务总线的连接时遇到问题。C#(在windows上)中的类似代码运行良好 from azure.servicebus import * AZURE_SERVICEBUS_NAMESPACE='blablabla.servicebus.windows.net' AZURE_SERVICEBUS_ISSUER='RootManageSharedAccessKey' AZURE_SERVICEBUS_ACCESS_KEY='sdkfjlkewjrlwerjlew

我在设置从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')
这将产生以下输出:

回溯(最近一次呼叫最后一次): 文件“createqueue.py”,第9行,在 总线\u服务。创建\u队列(“任务队列”) 文件“/usr/local/lib/python2.7/dist packages/azure/servicebus/servicebusservice.py”,第143行,位于创建队列中 request.headers=self.\u update\u service\u bus\u header(请求) 文件“/usr/local/lib/python2.7/dist packages/azure/servicebus/servicebusservice.py”,第860行,在更新服务总线头中 (“授权”、自签名、服务、总线、请求(请求))) 文件“/usr/local/lib/python2.7/dist packages/azure/servicebus/servicebusservice.py”,第868行,在签名服务总线请求中 self._get_令牌(request.host,request.path)+'“' 文件“/usr/local/lib/python2.7/dist packages/azure/servicebus/servicebusservice.py”,第908行,在get令牌中 resp=self.\u httpclient.perform\u请求(请求) 文件“/usr/local/lib/python2.7/dist packages/azure/http/httpclient.py”,第191行,在执行请求中 self.send\u request\u头(连接,request.headers) 文件“/usr/local/lib/python2.7/dist packages/azure/http/httpclient.py”,第170行,在发送请求头中 connection.endheaders() 文件“/usr/lib/python2.7/httplib.py”,第958行,在endheaders中 自发送输出(消息体) 文件“/usr/lib/python2.7/httplib.py”,第818行,在发送输出中 self.send(msg) 文件“/usr/lib/python2.7/httplib.py”,第780行,在send中 self.connect() 文件“/usr/lib/python2.7/httplib.py”,第1161行,在connect中 self.timeout,self.source\u地址) 文件“/usr/lib/python2.7/socket.py”,第553行,在create_connection中 对于getaddrinfo(主机、端口、0、SOCK_流)中的res: socket.gaierror:[Errno-2]名称或服务未知

这里出了什么问题

谢谢


您不需要为名称空间指定整个URL。

在microsift上检查您与servicebus服务的连接。 我也有同样的问题,问题是wlan0连接-我丢失了DHCP服务器分配的IP。
或者您的DNS无法正常工作。

您使用的是哪个版本的Python SDK,以及您何时创建了SB名称空间?好问题:我不知道,因为我2天前刚刚启动了pip包。我还在Windows上使用Python进行了测试,SDK是使用WebInstaller从MSDN中提取的。结果相同。奇怪的是,我有一个工作脚本cre设置blob存储容器。我还使用预先设置的队列进行了测试,只编写了一条消息。这也会导致相同的错误行为。我也有同样的问题,但还没有解决方案。不使用python在Windows机器或Linux机器上工作,但使用.NET。这也是我的想法,但无论是否使用命名空间,结果都是一样的是一样的。我还运行了一个python脚本,创建了一个blob存储容器,它正在工作(有URL和没有URL)。您使用的是SAS还是ACS?SAS。请参阅access key的使用。再次说明:相同的概念在C#/.NETAh中工作得完美无缺。好的。我认为python SDK不支持SAS。
AZURE_SERVICEBUS_NAMESPACE='blablabla'