如何为Firebase应用程序创建长期运行的用户数据导出?

如何为Firebase应用程序创建长期运行的用户数据导出?,firebase,google-app-engine,google-cloud-functions,google-cloud-storage,firebase-storage,Firebase,Google App Engine,Google Cloud Functions,Google Cloud Storage,Firebase Storage,我有一个Firebase应用程序,它使用Firestore作为数据库,Storage存储用户的照片,并具有各种功能。我想成为一个好公民,如果有一天我的用户决定离开我,我想给他们一种方式来压缩他们所有的数据并下载它 我的计划是: 创建一个压缩文件写入流到导出存储桶 循环遍历所有用户的存储文件,并将它们添加到压缩输出流中 循环用户的Firestore数据,将其转换为JSON文档并将其添加到压缩输出流中 通过电子邮件向用户发送压缩文件的下载链接 但这正是我发现函数所能做的限制的地方。毕竟,如果我有几年

我有一个Firebase应用程序,它使用Firestore作为数据库,Storage存储用户的照片,并具有各种功能。我想成为一个好公民,如果有一天我的用户决定离开我,我想给他们一种方式来压缩他们所有的数据并下载它

我的计划是:

  • 创建一个压缩文件写入流到导出存储桶
  • 循环遍历所有用户的存储文件,并将它们添加到压缩输出流中
  • 循环用户的Firestore数据,将其转换为JSON文档并将其添加到压缩输出流中
  • 通过电子邮件向用户发送压缩文件的下载链接
  • 但这正是我发现函数所能做的限制的地方。毕竟,如果我有几年的照片要导出,那么导出一次函数调用所需的时间可能比9分钟长得多

    这个问题的最佳解决方案是什么


    我不想回答我自己的问题,但在完成我的研究后,似乎可以选择将Google Cloud TasksGoogle Cloud AppEngine添加到我的应用程序架构中,但由于标准Firebase控制台中没有提到这两个选项,我犹豫不决,因为它们似乎不是“Firebase愿景”的一部分。

    您必须将应用程序引擎添加到您的项目中,因为9分钟的持续时间限制无法增加[1]

    当您需要执行其他后端逻辑时,应用程序引擎通常会添加到Firebase项目中[2][3]

    [1]

    [2]

    [3]