2014-01-02 2 views
7

Этот устаревший API поддерживает добавление контента в Google файл облако хранения:Как добавить запись в файл облачного хранилища Google из движка приложения?

FileWriteChannel FileService.openWriteChannel(AppEngineFile file, 
           boolean lock) 

Но

GcsOutputChannel GcsService.createOrReplace(GcsFilename filename, 
           GcsFileOptions options) 

не кажется.

Какое здесь решение?

ответ

7

Извините, что вам сообщили, но это невозможно сделать, не заменяя файл каждый раз.

Как указано в Cloud Services docs Под неизменности объекта

объектов являются неизменным, что означает, что загруженное объект не может изменяться в течение всего срок службы батареи. Срок хранения объекта - это время между успешным созданием объекта (upload) и успешным удалением объекта. На практике это означает, что вы не можете делать инкрементные изменения для объектов, такие как операции добавления или операции усечения. Тем не менее, можно перезаписать объекты, хранящиеся в облачном хранилище Google, поскольку операция перезаписи - это действие объекта удаления, сразу же выполняемое операцией загрузки объекта. Таким образом, одна операция перезаписи просто отмечает конец жизни одного неизменяемого объекта и начало жизни нового неизменяемого объекта.

5

В то время как объекты Google Cloud Storage неизменны, есть что-то, что может помочь вам, если вам нужно сделать ограниченное присоединяет: object compose

Эта операция в основном присоединяет содержимое ряда объектов в то же самое ведро под новым именем, например cat file1 file2 > newfile, но без перезаписи данных.

Итак, вы можете создать новый объект, загрузить содержимое для добавления к нему, закрыть и затем compose этот новый фрагмент в конце вашего основного файла.

Существует предостережение: допускается максимум 1024 «штук» на объект, а составные объекты, которые сами составлены, учитываются как составляющие исходные части (поэтому вы не можете обмануть предел путем повторного составления).