有没有办法从Google App Engine Java应用程序更改存储在Google云端存储上的文件的对象名称?我正在使用Google云存储客户端库,但我没有看到用于执行此操作的API。
答案 0 :(得分:5)
您无法修改对象,但可以使用storage.objects.copy方法。这会将对象(在云中)复制到新名称。复制后,您可以删除原始对象。
从Java开始,复制操作看起来像这样:
storage.objects().copy("bucket", "foo", "bucket", "newfoo", null).execute();
然后删除原文:
storage.objects().delete("bucket", "foo").execute();
答案 1 :(得分:0)
您无法更改对象名称。唯一的选择是删除它并使用新的对象名称再次保存它。
对象是不可变的,这意味着上传的对象不能 在整个存储寿命期间改变。对象的存储生命周期 是成功创建对象(上传)和成功之间的时间 对象删除。在实践中,这意味着你无法做出 对象的增量更改,例如追加操作或截断 操作。但是,可以覆盖那些对象 存储在Google云端存储中,因为存在覆盖操作 影响删除对象操作,然后立即上传 对象操作。因此,单个覆盖操作只是标志着结束 一个不可变对象的生命周期和新的开始 不可变对象的生命周期。