我可以将一个新对象上传到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
答案 0 :(得分:0)
您可以编写两个Cloud Functions触发器,一个响应存储桶中的更改(存储触发器),另一个响应数据库中的更改(Firestore触发器)。如果任一功能检测到更改,则可以在另一产品中进行相应的更新。
如果要执行一次性同步,则只需编写代码来查找差异并进行适当的更改。云功能触发器不是实现此目的的最佳方法。