2017-01-24 9 views
1

この要点は、Messenger()を使用してAzureイベントハブからメッセージを受信する方法を示しています。それは素晴らしい作品です。Python Qpid/Proton/Messenger()を使用すると、Azureイベントハブからのメッセージをどのようにフィルタリングできますか?

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

しかし、この技術を使用すると、イベントのハブ内のすべてのメッセージを生成します。私は、オフセットまたはタイムスタンプ(どのような気にしないでください)以来、メッセージを読んでみたいと思います。 Qpidのドキュメントでは、これらの要件を設定する方法を確認できますが、Messenger()を使用する場合は表示されません。 https://qpid.apache.org/releases/qpid-proton-0.16.0/proton/python/api/index.html

そして、それを使用する方法を示すサンプル:

ここでQpidドキュメントの関連するセクションです qpid.apache.org/releases/qpid-proton-0.16.0/proton/python/ examples/selected_recv.py.html

質問:それはどうですか?

+0

あなたが話しているドキュメントへのリンクを追加して、関連する関数呼び出しを質問に含めることが望ましいです。 –

+0

編集されました。あなたのご意見ありがとうございました、グリッサ。 –

答えて

0

私の理解に基づいて、EventHubのオフセットまたはタイムスタンプで始まるイベントデータを読みたいと思っています。私はC#/ Java用のEventHub SDKのすべてのクラス&のメソッドを見直しましたが、EventHubのパーティショニングからイベントデータを消費するためのこの方法のサポートはありません。 Apache QpidはJava/C/Python用のAMQPプロトコルをサポートするライブラリであり、EventHubはAMQPをサポートしていますが、EventHubがQpidのすべてのメソッドをサポートするわけではありません。

回避策としては2通りの方法があります。

  1. EventHubですべてのメッセージを受信し、これらのメッセージをフィルタリングします。
  2. Using Azure Stream Analytics to create an output pipeline他のストレージ(たとえば、Table Storage、DocumentDB)にメッセージを出力する場合は、必要に応じてオフセット/タイムスタンプを使用して他のストレージからこれらのデータを取得できます。
関連する問題