逐步更新谷歌blobstore或云存储?

时间:2013-01-15 20:29:21

标签: google-app-engine blobstore google-cloud-storage

我正在开发一个应用程序,其中用户将创建数据对象并将其上传到存储。然后,他们将在以后下载,进行一些更改,并上传这些更改(作为原始数据的补丁)。有没有办法使用blobstore或云存储上传补丁并应用它,以便我的用户不必再次上传整个数据对象(可能会变得非常大)?

1 个答案:

答案 0 :(得分:2)

您无法对Blobstore或云存储中的数据发出增量更新。要应用修补程序,您必须自己应用它并覆盖blob或对象中的数据。相关信息如下。

来自Google云端存储文档的Concepts and Terminology section

  

对象是不可变的,这意味着上传的对象不能   在整个存储寿命期间改变。对象的存储生命周期   是成功创建对象(上传)和成功之间的时间   对象删除。在实践中,这意味着你无法做出   对象的增量更改,例如追加操作或截断   操作。但是,可以覆盖那些对象   存储在Google云端存储中,因为存在覆盖操作   影响删除对象操作,然后立即上传   对象操作。因此,单个覆盖操作只是标志着结束   一个不可变对象的生命周期和新的开始   不可变对象的生命周期。

来自Blobstore Introduction section

  

Blob在创建后无法修改,尽管它们可以   删除。每个blob都有一个相应的blob信息记录,存储在   数据存储区,提供有关blob的详细信息,例如其创建   时间和内容类型。您可以使用blob键来获取blob信息   记录和查询他们的财产。