2014-08-27 5 views
2

Python 스크립트에서 Azure Service Bus 로의 연결 설정에 문제가 있습니다. 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

잘못 여기서 뭐하는거야?

감사

+0

어떤 버전의 Python SDK를 사용하고 언제 SB 네임 스페이스를 만들었습니까? – BrentDaCodeMonkey

+0

좋은 질문입니다. 2 일 전에 삐삐 패키지를 뽑은 이후로 잘 모릅니다. 또한 WebInstaller를 사용하여 MSDN에서 가져온 SDK로 Windows에서 Python을 테스트했습니다. 같은 결과. 이상하게도 나는 blob 저장 컨테이너를 만드는 작업 스크립트를 가지고있다. 미리 준비된 대기열을 테스트하고 메시지를 작성했습니다. 또한 동일한 오류 동작이 발생합니다. – mvhoorn

+0

나는 아직 해결책이없는 동일한 문제가있다. Windows 머신이나 파이썬을 사용하는 리눅스 머신에서는 작동하지 않지만 .NET에서는 작동합니다. – vvucetic

답변

0
AZURE_SERVICEBUS_NAMESPACE='blablabla' 

당신은 네임 스페이스에 대한 전체 URL을 지정할 필요가 없습니다.

+0

네임 스페이스가 있거나 없으면 결과는 같습니다. 나는 또한 blob 저장소 컨테이너를 만드는 python 스크립트를 실행했으며 URL을 추가하거나 삭제하지 않고 작동했다. – mvhoorn

+0

SAS 또는 ACS를 사용하고 있습니까? – TheDude

+0

SAS. 액세스 키 사용을 참조하십시오. 다시 : 동일한 개념이 C#/.NET에서 완벽하게 작동했습니다. – mvhoorn

0

microsift에서 servicebus 서비스로 연결을 확인하십시오. 동일한 문제가 있었고 wlan0 연결로 문제가 발생했습니다 - DHCP 서버에서 할당 한 IP가 손실되었습니다. 또는 DNS가 제대로 작동하지 않습니다.

관련 문제