1 google-app-engine google-cloud-storage
我在文件上传期间从内部使用Google云端存储客户端Servlet.
由于几个原因,我能提出并尝试的唯一解决办法并不令人满意.
缓冲内存中的流,在缓冲流时计算元数据,然后在完全读取后将流写入Cloud Store.
将流写入存储桶并计算元数据.然后从临时存储桶中读取对象,并使用计算出的元数据将其写入最终位置.
预先计算客户端上的元数据并通过上传发送.
您可能正在使用适用于AppEngine库的Google Cloud Storage Java客户端.此库非常适合AppEngine用户,但它仅提供Google云端存储功能的一部分.据我所知,不支持更新现有对象的元数据.但是,Google云端存储肯定支持这一点.
您可以使用Google API Java客户端库,该库公开了Google云端存储的JSON API.使用此库,您将能够使用storage.objects.update方法或storage.objects.patch方法,这两种方法都可以更新元数据(不同之处在于更新将替换已存在的对象的任何属性,而补丁只是更改指定的字段).代码看起来像这样:
StorageObject objectMetadata = new StorageObject();
.setName("OBJECT_NAME")
.setMetadata(ImmutableMap.of("key1", "value1", "key2", "value2"));
Storage.Objects.Patch patchObject = storage.objects().patch("mybucket", objectMetadata);
patchObject.execute();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
755 次 |
| 最近记录: |