問題タブ [azure-blob-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.

0 投票する
2 に答える
12672 参照

c# - Azure - BLOB ストレージ内の既存の xml ファイルの更新

XML ファイルを BLOB ストレージに保存しており、それらを更新する (および/またはいくつかの要素を追加する) 最も効率的な方法を見つけようとしています。WebRole で、私はこれを思いつきました:

効率を考慮して、これらのパラメーターを検討しています。

  1. BLOBトランザクション
  2. 帯域幅。(コードはデータセンターで実行されるため、カウントされているかどうかはわかりません)
  3. インスタンスのメモリ消費。

言及すべきいくつかのこと:

  • 私の xml ファイルは約 150 ~ 200 KB です。

  • XDocument がファイル全体をメモリにロードし、ストリーム ( XmlWriter および XmlReader ) で作業することでこれを解決できるという事実を認識しています。しかし、これにはBlobStreamを使用する必要があり、トランザクションの効率が低下する可能性があると思います(私は思います)。

  • blob.Delete() については、それがないと、ブロブ ストレージにアップロードされた xml の末尾にいくつかの終了タグが欠落しているようです。これは、古いデータとの衝突が原因であると想定しました。ここでは完全に間違っている可能性がありますが、削除を使用すると解決しました(ただし、トランザクションが1つ増えます)。

私が提供したコードは良い習慣ですか、それとも私が言及したパラメータを考慮してより効率的な方法が存在するのでしょうか?

0 投票する
1 に答える
3522 参照

c# - Azure BLOB ファイルを Azure ローカル ストレージにコピーする方法

Azure でホストされている WCF サービスがあります。

Azure BLOB ストレージ (1.1G) に保持する Spatialite データベース ファイルがあります。圧縮すると500Kです。

サービスの開始時にローカル ストレージにコピーし、spatialite を使用してデータベース ファイルからさまざまな空間関数を実行したいと考えています。空間データは静的です。

Azure BLOB ストレージからローカル ストレージにファイルをコピーするためのコード スニペット (C#) を持っている人はいますか?

(また、このアプローチは理にかなっていると思います-そうですか?)

(また、ブロブ ストレージ用にファイルを圧縮する必要がありますか?)

ありがとう

編集: 最初の 2 つの応答に感謝します。いくつかのコードスニペットを使用することを望んでいました。どちらがより良いルートであるかについて、もう少し説明を加えることができます。すべてをコーディングするか、このブートストラップのアイデアを使用してください。

解決策: 保護されたすべての azure ファイルで機能するはずなので、SMARX を回答としてマークしていますが、ファイルは公開されている BLOB ファイルであるため、単純な Web アクセスを優先して、SMARX によって提案された CloudStorageAccount ルートをスキップしました。ただし、SMARX のアプローチを使用することに速度上の利点があるかどうかは疑問です。コメントをいただければ幸いです。

注: webRole プロパティを介してローカル ストレージを構成する必要があります。

0 投票する
4 に答える
4028 参照

file-upload - Azure BLOB オブジェクトの変更に関する通知

Azure の BLOB オブジェクトの変更に関する通知を購読することはできますか?

私の目的は、SAS を使用してファイルのアップロードをクライアントに委任し、最近 (アップロードが完了した後) データベースを更新することです。ブロブの状態を継続的にチェックする必要があるように見えますが、かなりリソースを消費するプロセスです。

0 投票する
1 に答える
2311 参照

azure - ファイルを Azure BLOB ストレージにアップロードする - Parallel.Foreach は Foreach より遅い

ローカル ストレージから BLOB ストレージにフォルダーをアップロードするための次のコードがあります。BLOB の名前にフォルダー名自体を含めます (コードは、ここにあるいくつかのメソッドに基づいていますhttp://blog.smarx.com/posts/pivot-odata -and-windows-azure-visual-netflix-browsing ) :

と :

このコードは機能し、意図したとおりにフォルダをアップロードしますが、完了するまでに非常に時間がかかります.25個のファイルをアップロードするのに20秒かかり、それぞれ40KB~です. そのため、並列ループを次のような通常のループに置き換えるのにうんざりしていました。

アップロードは瞬時に完了します (約3 秒)。

It's also important to note that I am working against the storage emulator for development.
The Parallel.Forech should obviously be faster. Does this difference comes form the storage emulator limitations (And when going live, Parallel would be faster) or is it something else I might be doing wrong ?

0 投票する
6 に答える
8096 参照

c# - Azure Blob Storage への大量の画像セットのバッチ アップロード

さまざまな形式 (jpg、png、gif) とサイズ (2 ~ 40 KB) の約 110,000 枚の画像がハード ドライブにローカルに保存されています。それらを Azure Blob Storage にアップロードする必要があります。これを行っている間、いくつかのメタデータと BLOB の ContentType を設定する必要がありますが、それ以外はそのまま一括アップロードになります。

私は現在、一度に 1 つの画像のアップロードを処理するために次を使用しています (5 ~ 10 の同時タスクで並列処理)。

アップロードをできるだけ速く処理するために採用できる別の手法があるかどうか疑問に思っていました。この特定のプロジェクトでは、あるシステムから別のシステムに大量のデータをインポートする必要があり、顧客の理由により、できるだけ迅速に行う必要があります。

0 投票する
0 に答える
123 参照

c# - 順番が狂っている個々のオブジェクトを追跡してから、連続するオブジェクトを Joining() する方法は?

やみくもに参加するよりも少し難しいと言って始めましょうbyte[]

私の全体像の目標は、現在多くの 512 バイトのページを Web サーバー (Azure ページ Blob) にアップロードしているアプリケーションを最適化し、それを 4 メガバイト以下の 1 回の大きなアップロードに減らすことです。理由の詳細については、この質問の下部にあるリンクを参照してください。

理由の簡単な答え: Azure スパース ファイルを使用することで、この最適化により速度が向上し (IO が少なくなり)、長期的にコストが節約されます。

詳細は次のとおりです。

クラスはする必要があります

  • alignment startデータを受け入れて保存します ( 、alignment stop、および付随するペイロードとして定義された data .

  • N個のデータが到着した後、またはevent発生した後、ProcessData(). これは、境界に従ってデータを組み立てる時が来たことを意味します ( の終了値はblob1の開始値と一致する必要がありますblob2) 。

  • 連続するデータは、実際には順不同で到着する場合があります。

  • 非連続データは、呼び出し元のアプリが発生する前にそれを送信しない場合として定義されprocessData()ます。さらに、512 バイトの範囲全体 == ゼロの場合、特別な処理が行われ、非連続として扱われます。

  • byte[] の型を扱っているため、ここでは効率的なリストが複雑になる可能性があります。配列の不要なコピーや拡張は避けたいと思います。

わかる?(泥のように、そうでないことを願っています)

これまでで最も近いのは、メソッドの署名を書くことです:(私が知っているラメ)

これらのことを効率的に追跡する方法について誰かに指示してもらいたいだけです...私はそこからそれを処理できます。抽象的な方向性でも役に立ちます

どのように追跡し、条件付きで連続したデータ範囲に参加するべきかについて、誰かが私を正しい概念的な方向に導くことができますか?

言うまでもなく、必要に応じて配列を展開またはコピーするだけの効率的なロジックを作成しようとしています。

0 投票する
1 に答える
3615 参照

c# - container.ListBlobsSegmented と blobclient.ListBlobsWithPrefix の違いは何ですか?

Azure Blob Storage では、これら 2 つの異なるオブジェクトに対する 2 つのメソッドの違いは何ですか? いつContainerInstance.ListBlobsSegmented()vsを使用しCloudBlobClientInstance.ListBlobsWithPrefix()ますか?

PageBlob とブロック BLOB のどちらを使用しているかは重要ですか?

0 投票する
1 に答える
52 参照

http - Possible to do more than one PageBlob operation in a single call? (many GETs or PUTs)

I have clients accessing Azure storage on a high latency connection, and it appears that the main reason for the slowness is the latency between each call.

The following happens several hundred times per user

Get flat directory listing Get the pages of the blobs that are listed Request the data in the pages The application is taking advantage of the "sparse" nature of the PageBlob, and the small allocation units of 512 bytes, but that has a side effect of creating too many transactions.

Can I batch together several "Get Page Range" or "Get Page Blob" requests for objects with different names, like this in the same HTTP request:

or the same question goes for similar operations with PUT

0 投票する
1 に答える
353 参照

javascript - Silverlight または Javascript 用の堅牢な Azure ストレージ ライブラリ (CloudBlob、PageBlob)

ページブロブと通常のブロブにアクセスでき、標準ライブラリと同じくらい多くのエラー チェックと機能を備えた堅牢な Azure ストレージ ライブラリを探しています。

どちらのソリューションでも、Shared Access Signatures を PageBlobs と共に使用することに特に関心があります。私のアプリケーションに必要なコア機能は

  • ページ BLOB の一覧表示と、アクティブなページを一覧表示する XML の解析

  • フラットな階層を使用して BLOB を検索する

  • 結果をバイナリ ストリームとして処理する

0 投票する
1 に答える
245 参照

azure - sdk1.4でのwindows azure blobのリース

次のスレッドを参照した後に書いた次のコードを使用しています - Azure クラウド アプリで BLOB リース機能を使用する

上記の readFully() メソッドは、コンテンツをストリームから byte[] 配列に取得するだけです。

このコードを使用して、有効な leaseId を持つ任意の BLOB にいくつかのものをアップロードしています。Azure SDK のバージョン 1.4 に移行するまで、これは正常に機能していました。Azure SDK の新しいバージョンでは、req.GetResponse() メソッドでエラー 400 が発生します。

これを台無しにしている azure SDK 1.4 の変更点を誰か指摘してもらえますか?

ありがとうカピル