【问题标题】:Rollback on failure of Firebase storage uploadFirebase 存储上传失败时回滚
【发布时间】:2019-06-28 17:56:36
【问题描述】:

我的目标是让 Firebase 云功能跟踪将三个单独文件上传到同一个存储桶的过程。这些上传之前会写入实时数据库,这最好是触发云功能来跟踪上传。

上下文是用户正在将商品添加到她的购物车中。将数据写入 RTDB,然后将自定义 3d 模型和 2 张图像复制到存储桶中。如果这些文件中的任何一个没有成功上传,我需要知道这一点并对存储桶中的 3 个文件进行回滚,并删除数据库中的条目。我可以处理这个客户端,但这并不理想,因为通常如果上传失败,那是因为与客户端的连接失败了。

我无法找到任何类型的批量添加或事务类型上传到 Firebase 存储。抱歉没有要显示的代码,但我什至不确定如何开始。任何建议将不胜感激。谢谢!

【问题讨论】:

  • 你能嵌套你的写作吗?例如写文件1,如果成功,写文件2,如果失败,删除写1。继续写文件3,如果失败,删除2和1。如果3成功则将url写入RTDB?
  • 我宁愿将这一切都交给服务器端处理,因为如果上传失败,很可能是由于连接问题。如果存在连接问题,则无法保证删除会通过。

标签: firebase firebase-realtime-database transactions firebase-storage


【解决方案1】:

没有像这样跨产品的交易。云存储也不提供任何交易。您将不得不检查错误并手动撤消以前所做的事情。或者,有一些工作会检查孤立数据并稍后将其删除。

【讨论】:

    猜你喜欢
    • 2020-11-20
    • 2019-05-07
    • 2018-10-28
    • 1970-01-01
    • 2018-11-09
    • 2020-08-16
    • 2017-01-05
    • 2015-12-13
    相关资源
    最近更新 更多