問題タブ [azure-servicebus-topics]
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.
azure - トピックに関する最後のメッセージのみを受信する
Stream Analytics から常にメッセージを受信しているAzure Servicebusトピックでサブスクライブしているアプリケーションがあります。ただし、このアプリケーションは、このTopicで毎回サブスクライブされるわけではありません。アプリケーションがサブスクリプションを行うときに、トピックから最後のメッセージのみを受信するにはどうすればよいですか?
azure - 「要求されたパフォーマンス カウンターはカスタム カウンターではありません..」Azure ServiceBus TopicClient を使用する場合
TopicClient
nuget パッケージからの単純なメッセージを送信しようとすると、次の例外メッセージが表示されますWindowsAzure.ServiceBus
。
「要求されたパフォーマンス カウンターはカスタム カウンターではありません。読み取り専用として初期化する必要があります。」
これが私のコードです:
を呼び出すと例外が発生しSendBatchAsync
ます。
この質問Error when sent or listen, Azure ServiceBusを見つけました。これは同じことを求めています。しかし、解像度は私には関係ありません。
WindowsAzure.ServiceBus.PerformanceCounters
問題が解決することを期待して、この nuget パッケージをインストール(および添付の cmd ファイルを実行) しましたが、まだ機能していません。
誰でもこれを解決する方法を知っていますか?
でトピックに関するメッセージを聴こうとすると、同じエラーが発生しますSubscriptionClient
。管理者として VS を実行しています。
azure - Azure Functions: 複数のトピックにサブスクライブすることはできますか?
これは私の functions.json です:
同じ機能に対して複数のトピックをサブスクライブすることはできますか?
乾杯。
azure - Azure ServiceBus トピックがサブスクリプションへの配信にサイレントに失敗する
Azure Service Bus のインスタンスの使用に関して、非常にイライラする問題が発生しています。具体的には、「コマンド」という名前のトピックをセットアップしています。これは、しばらくすると、サブスクリプションへのメッセージのプロキシを正しく停止します。私は、現在困惑している状態に私を残した次の動作を観察しました。
これは、トピックがしばらくの間、通常は一晩存在した後にのみ発生します。夕方にはすべてが機能しますが、朝に戻ったときにトピックが機能しなくなっており、唯一の解決策はそれを削除して再作成することです.
下の画像に示すように、送信後に例外を受信せず、トピックの「Active Message Count」および「Size In Bytes」プロパティが増加するため、トピックはメッセージを受信しているように見えます。サブスクリプションにメッセージを送信しないだけです。
サブスクリプションのフィルターが問題を引き起こしているのではないかと考えたので、これをテストするために、これらのサブスクリプションを削除し、エクスプローラーを使用して既定のフィルターを使用して新しいサブスクリプションを作成しました。これを行った後、トピックを介していくつかの新しいメッセージを送信しましたが、新しいサブスクリプションではまだ受信されませんでした.
サービス バスで実行されている他のトピック (上の画像の「イベント」など) がありますが、同じ動作を示しているようには見えません。それらは同じ方法で構成されていますが、問題なく動作します。
このような奇妙な動作を引き起こしている可能性のあるものについて、私はどんな理論にもオープンです. この問題の解決に役立つ場合は、追加情報を提供させていただきます。
コードブロック:
トピックを作成:
サブスクリプションの作成:
トピックにメッセージを送信:
渡されたトピック クライアントは、TopicClient.CreateFromConnectionString メソッドで作成されます。
サブスクリプションからメッセージを受信:
サブスクリプション クライアントに渡されたものは、SubscriptionClient.CreateFromConnectionString メソッドで作成されるだけです。
python - Python の azure.servicebus メッセージ ValueError
トピックを介してクラウド内のサブスクリプションにメッセージを送信するために、Microsoft Azure をいじっています。しかし、Microsoft の python SDK で問題が発生しました。具体的には、クラウドからのメッセージを逆シリアル化するときに ValueError が発生しました。
これは私のコードです
これはエラーです:
私はクラスに入って見ました:
これを解決するために私ができることはありますか?
c# - 1 つまたは複数の Azure Web ジョブを使用する必要がありますか
Azure Service Bus トピックにメッセージを投稿するシステムがあります。トピックには複数のサブスクライバーがあり、メッセージを処理するための webJob を作成しています。
Visual Studio で新しい WebJob プロジェクトを処理すると、キューをチェックするコードを含む「Functions.cs」というクラスが作成されます。トピック内のサブスクリプションをチェックするようにコードを更新しました。
トピックには複数のサブスクリプションがあり、これを監視して、受信したメッセージごとに異なるアクションを実行する必要があります。これには、サブスクリプションごとに異なる API である API を介したサードパーティ サービスへの接続が含まれます。
例:
私の質問は、サブスクリプションごとに個別の WebJob を作成する必要があるか、それとも「Functions.cs」クラスにメソッドを追加する必要があるかということです。
同じ WebJob に複数のメソッドがあり、メソッドを非同期にする必要がある場合、パフォーマンスが低下するのではないかと考えています。
azure - Azure Service Bus で仲介型メッセージングを使用して特定のトピック サブスクライバーをターゲットにする方法はありますか?
最初の私の具体的な質問
トピックに 3 人のサブスクライバーがいるとしますが、特定のサブスクライバーのみをターゲットにしたいとします。これはできますか?
私が達成しようとしていること
トピックをリッスンしているサブスクライバーはメッセージを処理します。これには、データベースへのアクセスが含まれる場合があります (データベースが一時的にダウンする場合があります)。問題が発生した場合は、後で再処理できるようにしたいと考えています。
後で処理するために Defer() を使用できることはわかっていますが、メッセージ ID を保存する必要があります。明らかに、データベースがダウンしている場合、そこに保存することはできません。そのため、永続化したい場合は、別のデータストアに保存する必要があります。
その「他のデータストア」がサービス バスの場合、サブスクライバーごとにトピックを作成する必要があり、管理が少し難しいようです。私の計画は、失敗したリクエストをトピックの配信不能キューに送信することです。スケジュールされたタスクが定期的に来て、各トピックの DLQ からメッセージを取得し、処理を試みます。再度失敗した場合は、メッセージを再送信して、メッセージ自体の一部である「AttemptedTries」カウンターを増やしたいと思います。関連するサブスクライバーのみをターゲットにして、問題のないトピックのサブスクライバーを処理する必要がないようにできればと思います (この機能を使用して同様のことを実行できない場合は、おそらくフィルターなどを追加できます)。
試行回数 >= maxattempts の後、プログラマーがメッセージをどう処理するかを決定できる普遍的な「墓場」(トピック固有ではない) にメッセージを送信します。
これはそれを処理する良い方法ですか?ASB にはこの機能が組み込まれていますか?