問題タブ [azure-queues]
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 からキューの長さ/メッセージ数を取得できません
現在のキューの長さが指定された値を下回ったときに、選択した数のメッセージをキューに入れる必要があるユース ケースがあります。私は Azure で実行しているので、RetrieveApproximateMessageCount()
メソッドを使用して現在のメッセージ数を取得しようとしています。これを呼び出すたびに、例外が発生しStorageClientException: The specified queue does not exist.
ます。これが私がやったことのレビューです:
ポータルでキューを作成し、キューへのメッセージを正常にキューに入れました。
ポータルでストレージ アカウントを作成し、Created/Online 状態にある
クエリを次のようにコーディングしました ( http および https オプションを使用):
/li>名前の大文字と小文字が正しく区別され、特殊文字、数字、またはスペースが使用されていないことを確認しました。結果のURL は、API ドキュメント (例: http://myaccount.queue.core.windows.net/myqueue
queue
) に基づいて正しい形式で表示されます。 )
私が間違っていることに光を当てるのを手伝ってくれる人はいますか。
編集
MessageFactory
を使用してを作成し、QueueClient
メッセージを正常にエンキュー/デキューできることを確認しました。キューを使用するとCloudStorageAccount
、存在しないため、カウントと GetMessage ルーチンが機能しません。これらは同じものではないと思いますか?私が正しいと仮定すると、必要なのは Service Bus Queue の長さを測定することです。それは可能ですか?
design-patterns - Azure のキューに対して作業するジョブ/テナントごとにワーカー ロールを調整する方法
マルチテナントの Azure アプリケーションがあり、多くの異なるジョブがキューに入れられている可能性があります。各ジョブは、キューに格納されている多くの個別のタスクで構成されています。
ユーザーの理由と技術的な理由の両方から、特定のジョブが多くの作業を消費するべきではありません:
ユーザー: 長い間進捗が見られない大規模なジョブの背後で、ユーザーが立ち往生することを望まない技術: タスクの処理には、ネットワーク上の限られたリソースにアクセスすることが含まれます。たとえば、同時接続数は 10 までしかありませんが、最終的にその接続が必要になる何千ものタスクがあります。
もう少し複雑にするために、一部のジョブは同じリソースを消費するという点で「関連」しているため、10 個のワーカーの制限はそれらのジョブ全体である必要があります。
現在、ジョブごとに個別のキューを使用していますが、これは問題なく動作しますが、それらを作成してオンザフライでクリーンアップする必要があり、ワーカーが適切なキューを見つけるためのキューのキューを用意する必要があります
また、これにより、関連するジョブを実行することが困難/不可能になります。
これに適した設計パターンはありますか?
c# - Azureワーカーロールの複数のインスタンスのキューはいくつですか?
質問があります。
MicrosoftのAzureQueueは、この投稿で提案されているように多くのメッセージをサポートするように設計されていると思いました。100TBのメッセージ(アカウントの最大容量)を保存できると読みました。したがって、すべてのワーカーロールに使用できるキューは1つだけです。
しかし、ワーカーロールインスタンスごとのキューのみを示す記事を見つけました。
記事の残りの部分は深刻だと思うので、これについてどう思うかわかりません。
場合によっては、複数のキューの方が優れていますか?
c# - CloudQueueMessage から派生した型の使用
Windows Azure キュー メッセージ (CloudQueueMessage クラス) によって提供されるものよりもいくつかのプロパティをキュー メッセージに必要とするユース ケースに取り組んでいます。ほとんどが保護されているため、CloudQueueMessage のほとんどのプロパティを使用できません。
そのため、CloudQueueMessage を継承し、追加のプロパティを派生クラスに追加することを考えましたが失敗しました。私の派生クラスは以下のようになります。
メッセージの挿入と取得の残りのコードは次のようになります。
ここで、cloudQueue は私の Azure Queue インスタンスです。
メッセージは正常に挿入されますが、派生クラスへのキャスト バックとして azureMessage は常に null です。
ここで同様の行で解決策に出くわしましたが、まだ試していません。
この動作は正常ですか、それとも何か不足していますか?
azure - Azure Queue へのリスナーの書き込み
ほとんどのキューの例をポーリング メカニズムとして見てきました。キューのリスナーに変更することは可能ですか。ポーリングはワーカーのパフォーマンスに影響を与える可能性があるためです。
.net - Windows azure worker ロールでのマルチスレッド
Azure ワーカー ロールからオンプレミスで CRM 2011 と対話する ASP.Net アプリケーションを構築しました。これで、シングル スレッド アプリケーションになりました。キュー内の他のプロセスも非同期で処理されるように、マルチスレッドを実装したいと考えています。どうするのが一番いいのか、どうすればできるのか教えてください。どんな参考文献も高く評価されます。
security - Azure:CloudQueueとセキュリティ、CloudQueueMessageにアクセスキーを配置
私の(ワーカー)ロールにいくつかの作業を与えるために、私は-キューに-次のようなメッセージを入れました:
" connectionString inputContainerName outputContainerName WorkToDo "
connectionStringは、次のような紺碧の接続文字列です:
"DefaultEndpointsProtocol = https; AccountName = my_name; AccountKey = my_key"
このメッセージをAzureのCloudQueueに配置するローカルアプリです。
そして、このCloudQueueがAzureのワーカーロールによって読み取られた後。
それは良い考えですか?
この方法は安全ですか?
azure - Azure .NET コンポーネントの有効期間 (CloudQueueClient、CloudQueue など)
.NET SDK を使用して MVC アプリケーションから Windows Azure キュー アイテムまたは BLOB ストレージ参照を追加している場合、各コンポーネントはどのくらいの期間保持する必要がありますか?
キューにはCloudStorageAccount、CloudQueueClient、CloudQueueがあります。
ブロブ ストレージには、CloudStorageAccount、CloudBlobClient、およびCloudBlobContainerがあります。
Web リクエストごとに各コンポーネントを 1 回作成するのが最善であると想定していますが、各アイテムを作成するのにどれだけの費用がかかるかは実際にはわかりません。繰り返しになりますが、たとえば、シングルトンの有効期間を使用して Web リクエスト間でクライアントを維持することは良い計画ではなく、続行する必要はないと想定しています。
azure - AzureServiceBusとメッセージングセッション
Azure Service Busキュー(Azureストレージキューではありません)を調べています。私が読んだすべての詳細は、FIFOセマンティクスをサポートしていることを示していますが、これは「メッセージングセッション」のコンテキストでのみです。問題は、Azureのコンテキストでこれが正確に何であるかについての情報を見つけることができないように見えることです。これはWCF構造ですか、それともAzure Service Busに固有のものですか?ローカルトランザクションとは関係ないと思いますが、100%確信はありません。
どんなポインタも非常に役に立ちます。ありがとう!
design-patterns - Azure キューのバックログを防ぐ方法
Azure キューにメッセージを送信する Azure Web アプリケーションがあり、キューをポーリングしてメッセージが利用可能になったときにメッセージを処理するワーカーがあります。ほとんどの場合、これはうまく機能しており、このデザインに満足しています。
ただし、うまく機能しないシナリオが 1 つあります。この特定のケースを処理する方法についての提案を探しています。
たまに、特定のユーザー (彼を Bob と呼びましょう) がいくつかのアクションを実行すると、いくつかのメッセージがキューに送信されてバックログが作成され、他のユーザーは Bob のメッセージが処理されるのを待ってからメッセージを処理する必要があります。 . Bob がキューで多くのメッセージを送信したという事実に対して、彼らはペナルティを受けます。
あるユーザーへのメッセージが他のユーザーへのメッセージの遅延を引き起こさないように設計を改善するにはどうすればよいですか? 私の最初の本能は、ユーザーごとに 1 つのキューを作成することでしたが、ユーザーが数千人いる場合、それが合理的な設計であるかどうかはわかりません。
このシナリオに対処するための設計パターンはありますか? もしそうなら、再利用できるパターンの C# 実装はありますか?