1

ボタンをクリックした後、AzureBLOBから20個のサムネイル画像を取得する必要があるとします。ブロブはそのようにアクセスされることを読みましたhttp://<storage account>.blob.core.windows.net/<container>/<blob>

1回のトランザクションで1つのGetBlob()リクエストが課金されます。これは、20枚の画像を取得するには、少なくとも20回のトランザクションがかかるということですか?

それらの画像を取得し、1回のトランザクションで請求されるようにバッチリクエストを送信する方法はありますか?

エンティティグループトランザクションについて読みましたが、Azureテーブル専用であるように思われました。

4

1 に答える 1

2

BLOBを使用したエンティティグループトランザクションに似たものはありません。それぞれに個別にアクセスし、少なくとも1つのトランザクションを書き込みます(BLOBサイズによって異なります)。

10,000 100,000トランザクションあたり1ペニーで、BLOBを絶えずダウンロードしない限り、これは主要なコスト要因にはならない可能性があります。その場合、Blob Storageに対する過度のアクティビティを防ぐために、ある種のキャッシュを検討する価値があるかもしれません。

もう1つの回避策(ハック?):関連するBLOBのセットを常に取得している場合は、その関連するコレクションをzipファイルの単一のBLOBに格納できます。私がこれに賛成だと言っているわけではありませんが、トランザクションを保存する必要がある場合は、少なくともそれはオプションです(キャッシュは別として)。

このMSDNの記事をご覧ください。この記事では、ストレージと、パーティションがBLOBおよびテーブルにどのように関連しているかについて説明しています([パーティション]セクションまでスクロールダウンしてください)。関連情報:各BLOBは独自のパーティションにあります。テーブルストレージを使用すると、単一のパーティション内のエンティティに対してアトミックアクションを実行できます(複数のパーティションにまたがるアトミックアクションはありません)。これが、複数のBLOBにまたがるアトミック操作が表示されない理由です。

于 2012-05-28T18:51:59.913 に答える