我正在开发一个应用程序,其中用户将创建数据对象并将其上传到存储。然后,他们将在以后下载,进行一些更改,并上传这些更改(作为原始数据的补丁)。有没有办法使用blobstore或云存储上传补丁并应用它,以便我的用户不必再次上传整个数据对象(可能会变得非常大)?
答案 0 :(得分:2)
您无法对Blobstore或云存储中的数据发出增量更新。要应用修补程序,您必须自己应用它并覆盖blob或对象中的数据。相关信息如下。
来自Google云端存储文档的Concepts and Terminology section:
对象是不可变的,这意味着上传的对象不能 在整个存储寿命期间改变。对象的存储生命周期 是成功创建对象(上传)和成功之间的时间 对象删除。在实践中,这意味着你无法做出 对象的增量更改,例如追加操作或截断 操作。但是,可以覆盖那些对象 存储在Google云端存储中,因为存在覆盖操作 影响删除对象操作,然后立即上传 对象操作。因此,单个覆盖操作只是标志着结束 一个不可变对象的生命周期和新的开始 不可变对象的生命周期。
来自Blobstore Introduction section:
Blob在创建后无法修改,尽管它们可以 删除。每个blob都有一个相应的blob信息记录,存储在 数据存储区,提供有关blob的详细信息,例如其创建 时间和内容类型。您可以使用blob键来获取blob信息 记录和查询他们的财产。