如何将Google Cloud Storage存储桶与本地文件夹同步以供离线使用?

问题描述

我需要在本地磁盘和云存储桶之间同步(而不是镜像)文件。我可以想到类似Google云端硬盘应用程序之类的东西,它也可以在离线模式下工作(当本地PC联机时,它会自动同步数据)。由于离线使用,这对于我要开发的应用程序很有用。

我在文档中做了很多研究,但是找不到任何有用的资源。

我可以结合使用gcloud rsync和Cloud Function来监听云存储桶事件。 还有一个自定义的本地触发器,用于触发本地硬盘上的事件(假设我正在开发Node.JS本地应用程序)。 但是然后我必须处理一些边缘情况,例如:脱机,并发操作,非常长的传输,权限等。

我不想重新发明轮子,我认为这是一种常见的模式,就像前面提到的GDrive应用程序一样。 此外,Firestore本机模式确实实现了真正接近的功能,尽管它与文档而不是文件有关。

Google Cloud Platform和/或Firebase是否允许轻松地将本地文件夹与云存储桶同步? 您如何看待我的方法

解决方法

正如您所提到的,这些功能是在Google Drive / One中实现的,对于这些产品,这是“成为云驱动器”的主要目的(基本上一直与本地设备保持同步)。 / p>

另一方面,Google Cloud Storage是一种采用不同方法的服务,这是一种基于对象的存储,被设计为Cloud体系结构的一部分,可以与云服务(始终在线服务)进行交互,目前Google没有提供与Google云端硬盘类似的软件客户端来同步本地和云文件夹。

我发现此third party software(不受Google支持)可以在本地文件夹和云存储之间进行同步

我还查看了Google One和云存储的价格,例如Google One便宜得多。

2 TB / month G ONE: $ 10 USD
2TB / month G storage: $ 40 USD

例如,基于此,您还应该添加其他服务的价格。

  • pubsub服务
  • 云功能服务
  • 传出网络流量

您的方法听起来不错(虽然需要很多努力,但是还可以),但是很遗憾,您正在尝试在非设计方案中使用服务。

如果您想将代码保存在云中,则可以使用Google Cloud Repositories,它基本上像Github一样工作,但是具有易于与Google Cloud Build之类的CI / CD服务集成的优点。