問題タブ [azure-eventhub]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Azure Event Hub を Azure Notification Hub に接続できますか?
Windows フォーム アプリケーションから azure イベント ハブにメッセージを送信しました。リアルタイム操作にデータ ストリーム分析を使用し、イベント ハブからデータを取得した後。その操作の後、結果メッセージをイベント ハブに送信しました。ここで、モバイル アプリ (Android または Windows モバイル アプリ) を使用して、Azure 通知ハブを介してユーザーに結果メッセージを表示したいと考えています。Azure Notification Hub と Azure Event Hub を直接接続できますか?
azure - サブスクライバーのみでAzureイベントハブからのメッセージを消費する方法は?
メッセージを azure イベント ハブに送信します。しかし、イベント ハブからメッセージをダウンロードできません。
次のエラー Aggregate exception handling が表示されます。1 つ以上のエラーが発生しました。メッセージの詳細: そのようなホストは認識されていません。EventProcessor のホスト名は何ですか?
次の行にエラーが表示されます: eventProcessorHost.RegisterEventProcessorAsync().Wait();
IEventprocessor を呼び出していません。イベント ハブからメッセージを消費する他の方法はありますか?
azure - eventhub での大規模なメッセージ処理
私の理解では、eventhub は 1 秒あたり数百万のメッセージを処理/取り込むことができます。取り込みを調整するために、スループットを使用できます。
より多くのスループット = より多くの取り込みパワー。
ただし、受信/消費側では、最大 32 個のレシーバーを作成できます (32 個のパーティションを作成でき、1 つのパーティションが 1 つのレシーバーによって消費されるため)。
上記に基づいて、1 つのメッセージの処理に 100 ミリ秒かかる場合、1 つのコンシューマーは 1 秒あたり 10 メッセージを処理でき、32 のコンシューマーは 32*10= 1 秒あたり 320 メッセージを処理できます。
受信者がより多くのメッセージを消費するようにするにはどうすればよいですか (例: 1 秒あたり 5 ~ 10k)。
1) ProcessEventsAsync 内でメッセージを非同期的に処理する必要があります。しかし、この場合、注文を維持することはできません。
2) または、さらにパーティションを作成できるように Microsoft に依頼する必要があります。
ご意見をお聞かせください
azure - Azure イベント ハブと複数のコンシューマー グループ
次のシナリオでの Azure イベント ハブの使用についてサポートが必要です。このシナリオでは、消費者グループが適切なオプションかもしれないと思いますが、具体的な例をオンラインで見つけることができませんでした。
問題の大まかな説明と、イベント ハブを使用した提案された解決策を次に示します (これが最適な解決策であるかどうかはわかりません。フィードバックをいただければ幸いです) 。
データベースに保存する必要がある多くのイベント データ (センサーからのテレメトリ データ) を生成する複数のイベント ソースがあり、実行平均、最小 - 最大などの分析を並行して実行する必要があります。
送信者は 1 つのエンドポイントにのみデータを送信できますが、イベント ハブはこのデータを両方のデータ ハンドラーで利用できるようにする必要があります。
2 つのコンシューマー グループを使用することを考えています。最初の 1 つは、キーと値のストアにデータを保存するワーカー ロール インスタンスのクラスターであり、2 つ目のコンシューマー グループは分析エンジンになります (Azure Stream Analysis を使用する可能性が高い)。 )。
まず、コンシューマ グループをどのように設定すればよいですか?イベントのコピーがすべてのコンシューマ グループに表示されるように、送信者/受信者側で行う必要があることはありますか?
私は多くの例をオンラインで読みましたが、それらclient.GetDefaultConsumerGroup();
は同じワーカー ロールの複数のインスタンスによってすべてのパーティションが使用されているか、処理されています。
私のシナリオでは、イベントがトリガーされたときに、2 つの異なる worker ロール (データを保存するものと分析を行うもの) によって並行して処理される必要があります。
ありがとう!
castle-windsor - IEventProcessor(Event Hub) を実装するクラスに依存関係を渡す方法
次の問題があります。
Event Hub を使用します。次のクラスでは、IEventProcessor から継承し、ご覧のとおり Service Locator を使用します。コンストラクター/プロパティの注入で動作させることはできません。Castle Windsor は、IEventProcessor からの継承を目的とするクラスの場合、依存関係を解決できないようです。それは既知の問題ですか、それとも機能させるために何かする必要がありますか?
以下はコードです:
ありがとう
azure-eventhub - EventHubClient.SendBatch() が単一のパーティションしかサポートしないのはなぜですか?
どうやら (例外に基づいて) EventHubClient.SendBatchとEventHubClient.SendBatchAsyncは、操作ごとに単一のパーティションへの送信のみをサポートしています。これは、パーティション固有のEventHubSender.SendBatch .
より高いレベルのクライアントが必要に応じて再バッチ処理されないようにする設計上の考慮事項はありますか? EventHubClient は、パーティション キーのハッシュ/配布を制御しますが、これは、同じパーティションに存在する可能性のある異なるキーを使用してデータのバッチを送信したい EventHubClient の呼び出し元には使用できません。自分自身を再バッチ化するために残されているのは、小さなメッセージでは簡単に2桁の違いがあるパーティションの数ではなく、メッセージの数のオーダーで呼び出す必要があることです。
再バッチ化がすでに必要なため、さらに悪化する可能性があります。
azure - Azure eventhub の複数のパーティション キーが同じパーティションを指している
イベントハブが異なるテナント間で共有されるマルチテナント アプリケーションに取り組んでいます。テナント間でパーティションを分散します。すべてのテナントは、異なるパーティションでメッセージを送信します。パーティション レベルでテナントを認証したいと考えています。Microsoft のサイトで説明されているように、テナント ID に基づいてパーティション キーを定義しました。しかし問題は、複数のパーティション キーが同じパーティションでメッセージを送信していることです。そうであってはなりません。理想的には、すべてのパーティション キーを異なるパーティションにマップする必要があります。
私のアプローチの何が問題なのかを理解するのを手伝ってください。