Я пытаюсь использовать python-qpid-proton version 0.9.1 для отправки сообщения в очередь Azure Service Bus.использовать qpid-proton для отправки постоянных сообщений в служебную шину Azure - ошибка анализа URL-адресов
Примеры в примерах/python/messenger/принимают адреса формы amqps: //: @ /, и я могу успешно отправлять сообщения в очередь, которую у меня есть на Azure с ней. Проблема заключается в том, что я не могу контролировать многое из того, что происходит, а именно, я не вижу, действительно ли отправка не удалась. В конце концов я хочу сохранить сообщения в случае временного подключения к Интернету.
Примеры примеров кода/python/db_send.py и examples/python/simple_send.py кажутся более полезными с этими аспектами, поскольку они используют MessagingHandler вместо класса Messenger. Но когда я запускаю их, я получаю эту ошибку:
./simple_send.py -a amqps://send:[email protected]/queue2
Traceback (most recent call last):
File "./simple_send.py", line 62, in <module>
Container(Send(opts.address, opts.messages)).run()
File "/usr/local/lib/python2.7/dist-packages/proton/reactor.py", line 120, in run
while self.process(): pass
File "/usr/local/lib/python2.7/dist-packages/proton/reactor.py", line 143, in proce
self._check_errors()
File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 3737, in dis
ev.dispatch(self.handler)
File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 3662, in dis
result = dispatch(handler, type.method, self)
File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 3551, in dis
return m(*args)
File "/usr/local/lib/python2.7/dist-packages/proton/handlers.py", line 416, in on_r
self.on_start(event)
File "./simple_send.py", line 36, in on_start
event.container.create_sender(self.url)
File "/usr/local/lib/python2.7/dist-packages/proton/reactor.py", line 671, in creat
session = self._get_session(context)
File "/usr/local/lib/python2.7/dist-packages/proton/reactor.py", line 634, in _get_
return self._get_session(self.connect(url=context))
File "/usr/local/lib/python2.7/dist-packages/proton/reactor.py", line 611, in conne
if url: connector.address = Urls([url])
File "/usr/local/lib/python2.7/dist-packages/proton/reactor.py", line 555, in __ini
self.values = [Url(v) for v in values]
File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 3851, in __i
if defaults: self.defaults()
File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 3894, in def
self.port = self.port or self.Port(self.scheme)
File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 3868, in _ge
return portstr and Url.Port(portstr)
File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 3812, in __n
port = super(Url.Port, cls).__new__(cls, cls._port_int(value))
File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 3833, in _po
raise ValueError("Not a valid port number or service name: '%s'" % value)
ValueError: Not a valid port number or service name: 'mxitheresto'
Мне кажется, что это не разобрать адрес правильно. Я вставил тот же адрес, что и раньше. И я вставил его в интерпретатор Python, как это:
import proto
u = proton.Url("amqps://send:[email protected]/queue2")
# no error, and I can access all the parameters:
u.port
5671
u.username
send
# ...
Он отлично работает, если я использую локальное соединение с не именем пользователя и паролем. Получается мимо этого момента, если я не использую ни одно имя пользователя и пароль, но, очевидно, не работает, поскольку он терпит неудачу при аутентификации.
Есть ли способ использовать класс MessagingHandler и указать имя пользователя и пароль для отправки сообщений на удаленный (например, на Azure)?
Тот же вопрос, что и ссылка http://stackoverflow.com/questions/32189596/python-qpid-proton-examples-send-message-to-azure-not-working/32197104?noredirect=1#comment52285281_32197104 –
Please перейдите на http://stackoverflow.com/questions/32189596/python-qpid-proton-examples-send-message-to-azure-not-working/32197104?noredirect1_comment52285281_32197104, тот же вопрос, что и ваш. С наилучшими пожеланиями. –