如何使用Python在附加模式下打开GCS存储桶中的文件?

时间:2018-10-09 07:10:17

标签: python file google-cloud-platform google-cloud-storage

我查看了所有相关问题,发现所有内容都已上传到GCS而不是写作。我不是要上传文件或创建新文件。我需要以附加模式打开位于Google云存储桶中的文件,即如果不存在则创建该文件,然后使用python写入文件末尾。如果有人能指出我正确的方向,我将不胜感激。 每次上传方法都会替换我的文件。我尝试下载,附加然后替换,但这要求文件最初存在于目录中。 有没有办法在gcs中实现附加模式功能?

PS:我正在尝试通过云功能而不是配备Cloud SDK的机器

2 个答案:

答案 0 :(得分:0)

使用gcsfuse安装存储桶-这样,您就可以直接访问文件,就像访问计算机上的文件夹一样

https://cloud.google.com/storage/docs/gcs-fuse

答案 1 :(得分:0)

无法执行此操作,因为GCS中的对象是不可变的。

来自https://cloud.google.com/storage/docs/key-terms#immutability

  

对象是不可变的,这意味着上载的对象在其整个存储生命周期内无法更改。对象的存储生存期是成功创建(上传)对象和成功删除对象之间的时间。实际上,这意味着您无法对对象进行增量更改,例如追加操作或截断操作。但是,有可能覆盖存储在Cloud Storage中的对象,并且原子地进行操作-直到新的上传完成后,旧版本的对象将被提供给读者,而在上传完成后,新版本的对象将被提供给读者。服务于读者。因此,一次覆盖操作仅标记了一个不可变对象的生存期的结束和一个新的不可变对象的生存期的开始。