0

AppEngine BlobStore 内のブロブ (または、より簡単な場合は代わりに Google Cloud Storage 内のファイル) に対して次の書き込み操作を実行する方法をクライアントに提供する必要があります。

オフセットXから開始して、 Yバイトを削除し、次のバイトを挿入します: [z0, z1, z2, ...]

たとえば、BLOB に次のデータが含まれているとします。

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

クライアントが「オフセット 3 から始めて、5 バイトを [a、b、c、d] に置き換えます。その後、ブロブは次のようになります。

[0, 1, 2, a, b, c, d, 8, 9, 10, 11]

たとえば、mapreduce API を使用して、「この BLOB から X バイトをコピーし、このデータ (別の BLOB に格納されている可能性があります) を追加し、オフセット X+Y から始まるこの BLOB の残りをコピーする」ように指示する方法はありますか? "?

または、元のブロブを読み取ってそこから新しいブロブを作成し、すべての操作を 32MB のチャンクで実行することで、これを手動で行う必要がありますか? もしそうなら、ある程度妥当なパフォーマンスが得られると期待できますか、それとも BlobStore のリクエスト ハンドラへのアップ/ダウンロードは大きなデータ ブロックに対して非常に遅いですか?

4

0 に答える 0