问题描述
我需要在本地磁盘和云存储桶之间同步(而不是镜像)文件。我可以想到类似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服务集成的优点。