新しいバージョンで上書きされている間、Azure BLOB をダウンロードできますか?
Cloud Storage Studio を使用したテストでは、上書きが完了するまでダウンロードがブロックされますが、テストは同じマシンからのものであるため、これが正しいかどうかはわかりません。
上書き中に利用できない場合、(可用性を維持するための) 解決策は、別の BLOB 名を使用してアップロードし、完了したら名前を変更することだと思います。誰かがこれよりも良い解決策を持っていますか?
新しいバージョンで上書きされている間、Azure BLOB をダウンロードできますか?
Cloud Storage Studio を使用したテストでは、上書きが完了するまでダウンロードがブロックされますが、テストは同じマシンからのものであるため、これが正しいかどうかはわかりません。
上書き中に利用できない場合、(可用性を維持するための) 解決策は、別の BLOB 名を使用してアップロードし、完了したら名前を変更することだと思います。誰かがこれよりも良い解決策を持っていますか?
BLOB は上書き中に使用できます。ただし、表示される内容は、ブロック BLOB とページ BLOB のどちらを使用しているかによって異なります。ブロック BLOB の場合、最後のブロック コミットまで古いバージョンをダウンロードします。その最後の PutBlockList 操作は、BLOB を新しいバージョンにアトミックに更新します。ただし、非常に大きなブロブの場合、PutBlockList がブロブをアトミックに更新するときに何が起こるかをダウンロードしている最中であることは実際にはわかりません。選択肢は次のとおりです: a.) 要求は古い BLOB で続行する、b.) 接続が切断される、または c:) 新しい BLOB のバイトのダウンロードを開始する。テストするのはなんて楽しいことでしょう。
ページ BLOB を (リースなしで) 使用している場合、ページ範囲が下で更新されるため、一貫性のないデータを読み取ることになります。各ページ範囲の更新はアトミックですが、BLOB をリースして他のリーダーを排除しない限り、奇妙に見えます (リーダーはリースされた BLOB のスナップショットを作成し、状態を読み取ることができます)。
読み取りシナリオの途中でブロック BLOB の更新をテストして、何が起こるかを確認してみてください。ただし、核となる質問には答える必要があります。ブロブは利用可能です。