2017-01-24 8 views
1

Этот пояс показывает, как использовать Messenger() для получения сообщений от концентратора событий Azure. Он отлично работает.Использование Python Qpid/Proton/Messenger(), как мне фильтровать сообщения от концентраторов событий Azure?

https://gist.github.com/tomconte/e2a4667185a9bf674f59

Однако, используя этот метод дает все сообщения в хаб событий. Я хотел бы читать сообщения со смещения или метки времени (не волнует, какой). Я могу видеть в документах Qpid, как устанавливать эти требования, но не при использовании Messenger().

Вот соответствующий раздел в документации Qpid: https://qpid.apache.org/releases/qpid-proton-0.16.0/proton/python/api/index.html

И пример, который показывает, как использовать его: qpid.apache.org/releases/qpid-proton-0.16.0/proton/python/ examples/selected_recv.py.html

Вопрос: возможно ли, и если да, то как?

+0

Вы должны добавить ссылку на документы, о которых вы говорите, и предпочтительно включать соответствующие вызовы функций в свой вопрос. –

+0

Отредактировано. Спасибо за ваш комментарий, Гриша. –

ответ

0

Основываясь на моем понимании, я думаю, вы хотите прочитать данные о событиях, которые начинаются со смещения или метки времени на EventHub. Я рассмотрел все классы & методов EventHub SDK для C#/Java, тогда нет никакого способа поддержать это использование для использования данных событий из разделов на EventHub. Apache Qpid - это поддерживающий библиотеку AMQP-протокол для Java/C/Python и EventHub, поддерживающий AMQP, но это не означает, что EventHub поддерживает все методы Qpid.

Существует два способа решения проблемы.

  1. Получение всех сообщений на EventHub и фильтрация этих нежелательных для вас.
  2. Using Azure Stream Analytics to create an output pipeline для вывода сообщений в другие хранилища, такие как хранилище таблиц, DocumentDB, затем вы можете извлекать эти данные из других хранилищ со смещением/меткой времени ваших потребностей.