私はAzure Blobコンテナにコンテナあたり数百個のBlobを持っています。 REST APIを通じてGET LISTコマンドを使用してファイルリストを照会すると、実際にリストが表示されますが、「最後に変更された」などの追加情報がたくさんあるXMLです。これにより、ファイルごとに約500バイトのリストが返されます。 200個のBLOBを持つコンテナの場合、これはそのリストを取得するためだけに100キロバイトになります。これはひどく非効率です。特に、ファイル自体がそれぞれ約10キロバイトにすぎないため、リストを頻繁に要求する必要があります。RESTを通してAzure Blobの最適なリストを取得する
GET LISTのドキュメントでは、より簡単なリストを返すためのオプションはありません。できるだけ小さく、基本的なものとして、完全なURLや追加情報なしで、ブロブ名だけが必要です。短いファイル名の場合、これはファイルごとにわずか5バイトに収まる可能性があります。
Azure Blobからファイルリストを取得する効率的な方法はありますか?
なぜ私はこれが必要なのですか?私は複数のユーザーがBlobを同時にアップロードすることができ、すぐに特定のBlobをダウンロードできるシステムを持っています。
私は、BlobのファイルをリストするためにC#Blob APIを使用すると、ユーザーに何をダウンロードするかを知らせるWebロールがあると考えましたが、そのWebロールではBlobから同じダウンロードコストがかかりませんか?多くのユーザーがこれとやりとりすることを期待しているため、ここでは価格が重視されます。
ありがとうございます!このためだけにウェブロールを使用することは良い選択肢かもしれません。 Azureの価格は非常に理解しにくいので、多くの要因(発信帯域幅、取引数など)があります。あなたが提供したリンクでは、米国の東ヨーロッパと西ヨーロッパの価格計算はまったく異なります。内部的にブロブをリストすることが完全にフリーであるか、帯域幅だけがフリーであるかを理解することは難しい。 – Oogst
地域内の帯域幅は無料ですが、依然としてトランザクション数のコストがかかります(これはデータ転送帯域幅よりもはるかに安い)。 –