Firebase数据库和Google云存储不同步

时间:2019-05-21 19:38:07

标签: firebase google-cloud-firestore google-cloud-storage

我可以将一个新对象上传到google存储桶,并将该对象放入Firebase项目的数据库中。但是,当我删除它时,不会更新Google存储桶-有关如何深入了解此问题的任何提示?

另外,在Google存储空间中有数千个对象,而在Firebase数据库中则没有。如何同步这两个,以便GS存储桶中的对象也位于firebase数据库中

我尝试了一次测试,并使用gutils rsync上传了图片,然后在Firestore中将其删除,当我再次尝试上传图片时,我得到了

Building synchronization state...
At destination listing 10000...
At destination listing 20000...
At destination listing 30000...
At destination listing 40000...
Starting synchronization...
Copying file://./.DS_Store [Content-Type=application/octet-stream]...
- [1/1 files][  6.0 KiB/  6.0 KiB] 100% Done

更新:

我认为这与'application / octet-stream'vs image/jpeg和删除有关–有关如何将其切换到image/jpeg

的任何建议

1 个答案:

答案 0 :(得分:0)

您可以编写两个Cloud Functions触发器,一个响应存储桶中的更改(存储触发器),另一个响应数据库中的更改(Firestore触发器)。如果任一功能检测到更改,则可以在另一产品中进行相应的更新。

如果要执行一次性同步,则只需编写代码来查找差异并进行适当的更改。云功能触发器不是实现此目的的最佳方法。