2016-01-07 2 views
1

Я заинтересован в прослушивании Event Hub из сценария Python и выполнении некоторого кода при обнаружении входящего сообщения.скрипт python, который подписывается/слушает Azure Event Hub?

В Ubuntu, используя Python 2.7 с https://pypi.python.org/pypi/python-qpid-proton/0.10 и пример "приемника" сценарий, я пытаюсь, чтобы подписаться на URI, который выглядит как:

amqps://<key name>:<key>@<namespace>.servicebus.windows.net/<event hub name>/ConsumerGroups/$Default/Partitions/0 

возвращается следующая ошибка:

proton.MessengerException: Cannot subscribe to <...> 

Я считаю, что мой Event Hub настроен правильно, потому что я могу отправлять события в него с помощью отдельного сценария «отправить», а на информационной панели Azure показано, что события наступили. Но я не могу подключиться к абоненту для получения сообщений.

ответ

1

Я попытался воспроизвести вашу проблему на сервере Ubuntu, но не смог.

Хотя вы сказали, настроить хаб событий правильно, я все еще предлагаю вы можете проверить key name & key снова через CONFIGURE закладки вашего хаба событий на Лазурном старом портале и убедитесь, что имя политика key name определенно, что имеет разрешения Listen в Shared access policies. Или вы можете использовать RootManageSharedAccessKey & свой ключ в информации о подключении доступа к служебной шине, чтобы повторить попытку.

Кроме того, вы можете обратиться к образцу event_hubs_receive_many.py на https://gist.github.com/tomconte/e2a4667185a9bf674f59 (он основан на образце протонов async.py в https://qpid.apache.org/releases/qpid-proton-0.8/messenger/python/examples/async.py.html), чтобы проверить код.

0

Взгляните на https://github.com/Azure/azure-event-hubs-python

Try ./examples/recv.py, чтобы увидеть, если он работает. Обратите внимание, что ключ SAS должен быть закодирован в URL, а связанная с ним политика имеет действие «Прослушать». ADDRESS необходимо обновить с помощью конфигурации концентратора событий.

Смежные вопросы