問題タブ [azure-storage]
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 - Azure Table Storage FAST から 1 億行をダウンロードする方法
私は、Azure Table Storage から約 1 億行のデータをダウンロードする任務を負っています。ここで重要なのはスピードです。
使用しているプロセスは、Azure テーブル ストレージから 10,000 行をダウンロードしています。それらを Sql Server のローカル インスタンスに処理します。行の処理中に、Azure テーブルから一度に 100 行を削除します。このプロセスは、一度に 10,000 行をダウンロードする 8 つのスレッドを持つようにスレッド化されています。
これに関する唯一の問題は、私たちの計算によると. 保存した約 1 億行をダウンロードして処理するには、約 40 日かかります。このタスクを達成するためのより速い方法を知っている人はいますか?
副次的な質問: ダウンロード プロセス中に、Azure はデータをまったく含まない xml を送り返します。エラーは返されません。しかし、それはこれを送ります:
他の誰かがこの問題を抱えていて、それを修正していますか?
azure - 多数のAzureキューの管理
私のアプリケーションの一部には「チャット」システムが含まれています。ユーザーごとにキューを維持します。ユーザーへのメッセージはキューに入れられ、ユーザーのソフトウェアは定期的に残りのサービスをポーリングして新しいメッセージを探します。その時点で、キューからメッセージが送られ、ユーザーに返されます。
システムは非常にシンプルで、うまく機能し、必要なことはすべて実行できます。
私の問題は; アプリケーションのキューリストを乱雑にする数百(そしてすぐに数千)のキューがあります。
他のキューもありますが、BLOBストレージにあるもののようにそれらを「整理」できないのは私には戸惑います。
何かが足りないのでしょうか、それともキューリストを無視して、ユーザーが出入りするときにキューの作成と削除を適切に管理しているという事実に依存する必要がありますか?
wcf - 実行せずにAzureに対するFirstOrDefaultのWCF Data Services LINQクエリからリクエストUriを決定しますか?
問題
オブジェクトに対して実行された LINQ クエリによって生成される Uri をトレースしたいと考えていMicrosoft.WindowsAzure.StorageClient.TableServiceContext
ます。いくつかのプロパティでTableServiceContext
拡張するだけです。System.Data.Services.Client.DataServiceContext
私が抱えている問題は、デバッグ モードで開発マシンで Web ロールを実行すると、クエリが Azure Table Storage インスタンスに対して正常に実行されることです (Dev Storage を使用せずにクラウド内の Azure ストレージに接続しています)。結果のクエリ Uri は、Fiddler を使用するか、デバッガーのステートメントにカーソルを合わせるだけで取得できます。
ただし、Web ロールを Azure にデプロイすると、まったく同じ Azure テーブル ストレージ ソースに対するクエリがResourceNotFound DataServiceClientExceptionで失敗します。FirstOrDefault()
空のテーブルでの動作に対処する前に、ResoureNotFound エラーが発生しました。これはここでは問題ではありません。
この問題へのアプローチの 1 つとして、Web ロールがデプロイされたときと開発マシンで実行されているときに生成されるクエリ Uri を比較したいと思いました。
質問
FirstOrDefault()
メソッドが呼び出されたときに送信されるクエリのクエリ Uri を取得する方法を知っている人はいますか。から返されたを呼び出すことができることはわかっていますが、 が呼び出さToString()
れたときに Uri がさらに最適化され、が呼び出されたときに最終的にサーバーに送信されるものではない可能性があるという懸念があります。IQueryable
TableServiceContext
FirstOrDefault()
ToString()
IQueryable
FirstOrDefault()
誰かが問題に対して別のアプローチをとっている場合、私は提案を受け付けています。式ツリーが最終的に評価されたときに何が起こるかを判断しようとすると、LINQ の一般的な問題のようです。私のLINQスキルはいくらか改善される可能性があるため、ここでも提案を受け付けています。
サンプルコード
更新と回答の編集
スティーブは書き込み回答を提供しました。私たちの問題は、Azure OS の更新で修正された単一エンティティ クエリでの PartitionKey/RowKey の順序付けの問題について説明しているこの投稿で正確に説明されているとおりでした。これは、開発マシンと、Web ロールが Azure にデプロイされた時期との間の不一致を説明しています。
以前に存在チェックでResourceNotFoundの問題を処理したことを示したとき、コードでは 2 つの方法で処理していました。1 つは例外処理を使用してResourceNotFoundエラーに対処する方法で、もう 1 つは LINQ クエリの最初にRowKeyを配置する方法でした(一部の MS 関係者が適切であると指摘したため)。
例外処理を使用する代わりに、 RowKeyが最初にあった場所がいくつかあることがわかりました。コードをリファクタリングして .NET 4 をターゲットにし、.IgnoreResourceNotFoundException = true property of the
TableServiceContext を使用することで、これに対処します。
教訓 (複数回): 風変わりな文書化されていない動作に依存しないでください。
さておき
クエリ Uri を取得できました。それらは異なることが判明しました (ブログ投稿に示されているように)。結果は次のとおりです。
Dev Fabric からのクエリ URI
` https://ourproject.table.core.windows.net/Somethings() ?$filter=(RowKey eq 'test19@gmail.com') and (PartitionKey eq '41e0c1ae-e74d-458e-8a93-d2972d9ea53c')
Azure Fabric からのクエリ URI
` https://ourproject.table.core.windows.net/Somethings(RowKey= 'test19@gmail.com',PartitionKey='41e0c1ae-e74d-458e-8a93-d2972d9ea53c')
c# - c# azure ストレージへの http put リクエストの作成
こんにちは、Azure BLOB サービス API http://msdn.microsoft.com/en-us/library/dd135733.aspx
c# を使用して呼び出すことができます。Word文書などのファイルを保存場所にアップロードしたいのですが、httpメソッドは「put」で、残りのURLは
" http://myaccount.blob.core.windows.net/mycontainer/myblob "
このコードは動作しますか?
azure - Windows Azure クラウド ストレージ - ルートにある膨大な数のファイルの影響
ここで用語が間違っていたら申し訳ありませんが、私の言いたいことが理解できることを願っています。
Windows Azure Cloud Storage を使用して、大量の小さなファイル (画像、それぞれ 20Kb) を保存しています。
現時点では、これらのファイルはすべてルート ディレクトリに格納されています。通常のファイル システムではないことは理解しているため、ルートという用語が適切ではない可能性があります。
この計画の長期的な影響に関する情報を見つけようとしましたが、運がなかったので、誰かが私に情報を提供できるなら、私は感謝します.
基本的に、このルートに保存されているファイルの数が数十万/数百万になると、問題が発生するでしょうか?
ありがとう、
スティーブン
.net - Microsoft Azure ストレージと Azure SQL データベース
数か月前に同様の質問があったのを見ましたが、実際には私の状況にうまく対応していませんでした。ほら…
私は、Web ベースの .NET アプリケーションをゼロから構築しているところです。このアプリケーションは、大量のサイト (開始時に月に数十万ページ ビュー) になる可能性があり、Microsoft Azure を使用してそれをホストすることを強く検討しています。 . まだ何も構築しておらず、さまざまなオプションをまだ調査中です。
アプリケーション自体は、基本的に、さまざまな種類のエンティティ (ユーザー、注文、アイテムなど) に作用する標準の CRUD アプリケーションです。おそらくいくつかのバックグラウンド プロセスが実行されている可能性があり、データのキューイング (たとえば、SO バッジの取得などの非リアルタイム更新用) がありますが、ユーザーとのやり取りのほとんどは、典型的な CRUD タイプのアクションになります。
Azure に関しては、Microsoft Azure Storage を使用してトランザクション データを保存する方法に関する記事をいくつか読んだことがあり、Azure SQL DB を使用する代わりにそれを行うことを強く検討しています。しかし、私は実在の人物や実在の企業がそうしている成功例を見たり読んだりしたことがありません。そこで、SO コミュニティに連絡して、Microsoft Azure Storage を使用した経験のある人がいるかどうか、運が良かったかどうか、注意すべき問題点、ベスト プラクティスがあれば確認してみようと思いました。思いつく。
Microsoft Azure MSDN のセクションと、Microsoft のプログラミング Microsoft Azure Table API ドキュメントをたくさん読みました。実践的なアドバイス、学んだ教訓、ベスト プラクティスなどを探しています。よろしくお願いします。
amazon-s3 - 128 *ビット*の主キーを格納する必要があります:SQL AzureまたはAzureテーブルを使用する必要がありますか?または、AzureBlobでリンクリストを使用するだけです
大きな(128ビット)PKを保存する必要があります。各intには、対応する列がいくつかあります...現在スキーマは定義されていません...そして将来的にはスキーマを柔軟にしたいと考えています。(私は控えめな柔軟性だけが必要です。たとえば、時々新しい列を追加します)
この時点では、結合などを実行する機能についてはあまり心配していません。私は主にランダムなPKを選び、次の10レコードまで検索したいと思っています。検索には多くの空白が含まれる可能性があるため、上向き検索と下向き検索のコストは異なる場合があります。
このリクエストを処理するための最良のテクノロジーは何ですか?お金(トランザクションごと)とストレージスペースを節約できるものに興味があります。パフォーマンスにも興味があります。
おすすめは何ですか?
アップデート
さて、これは何のためですか?IPv6アドレスのデータ履歴を作成したい。もちろん、これは非常にまばらなテーブルになります...しかし、私は見られたIPに関して特定のことを追跡する必要があります。
c# - Azure テーブルから特定のフィールド値を取得する
次のコードは常に例外をスローします
エンティティを読むと、正常に動作します:
Azure テーブルから 1 つのフィールド (またはいくつか、エンティティを読み取りたくない) だけを読み取ることは不可能ですか?
前もって感謝します。
アップデート:
例外データ: System.Data.Services.Client.DataServiceQueryException。
メッセージ - 「このリクエストの処理中にエラーが発生しました。」
内部例外 - コード:「InvalidInput」、メッセージ:「要求入力の 1 つが無効です。」
.net - Windows サービスとして実行される Azure 開発ストレージ サービス
私は、Azure ストレージを使用して、サード パーティ アプリケーションによって消費されるすべての外部バイナリを格納する、非常に大規模な中央メディア リポジトリであるプロジェクトに取り組んでいます。アプリは azure で動作しますが、多くの新機能の追加に向けて前進しており、"ローカル ボックスから開発およびテストする" 形式のテストではもはや十分ではありません。クラウドで動作する必要があるメディアをフィードする一連の外部ソースがあるため、統合テスト環境のセットアップが必要です。すでに環境をセットアップしましたが、質問は、Azure 開発ストレージを起動して Windows サービスとして実行する方法はありますか? 現在、ログインして azure developmentmet ストレージを手動で開始する必要がありますが、ログアウトするとシャットダウンします。これは理想的ではありませんし、うまくいきません。開発ボックスなので、そして、データのほとんどはがらくたです。スペースと帯域幅を無駄にしたくありません。これを azure アカウントに送信すると、費用がかかります。ありがとう!