我尝试使用"将集合导出到BigQuery"扩展将集合导出到BigQuery
。
但我无法导出所有集合。
我需要使用导出集合到 BigQuery扩展将所有集合和子集合导出到 BiqQuery
我只能导出一个集合,但不能导出所有集合。
谁能帮我导出所有集合和子集合?
您可以尝试通过运行命令gcloud firestore export gs://mybucket/my/path
将信息导出到存储桶或本地文件,如此处所述。这将使用单个命令导出所有集合。
我建议您将其导出到 GCS,但是,您可以按照以下方法之一将信息加载到 BigQuery。
您正在使用的扩展很可能存在问题,因为扩展仍处于测试阶段,但您仍然可以打开功能请求,以便它们将来向扩展添加更多功能和/或直接报告任何错误。
希望你觉得这有用!
可以安装第二个扩展"将集合流式传输到 biquery",以将第二个集合导出到 BQ。只需转到菜单扩展,您第一次就这样做了
对我有帮助的一件事是转到我的 Firebase 项目的云函数部分,跳到 GCP 控制台端,然后下载为我的ext-firestore-bigquery-export-fsexportbigquery
函数部署的源代码的 zip 文件。
在那里,我注意到process.env.COLLECTION_PATH
的值最终会传递到functions.firestore.document()
它只是构造一个命名空间的集合路径,其中通配符可以在路径中的任何级别使用......这就是魔力所在。
如果将集合路径设置为通配符变量,例如"{AnyCollection}",则该函数将捕获 Firestore DB 中任何和所有集合的事件。只需要扩展的一个实例。
整体解决方案:
- 将集合路径设置为"{任意集合}">
- 将表 ID设置为指示它是多集合的内容,例如"AnyCollection">
- 将带有父 Firestore 文档 ID 的通配符列字段设置为 true 可能会很有帮助,尽管不是必需的。
- 您还可以从 BigQuery 表中的
document_name
列中查询集合的名称,其中包括诸如"projects/my-firebase-project/databases/(default(/documents/my-firestore-collection/U5OeEv7jZCY8ja0g2gLr"之类的路径。
- 您还可以从 BigQuery 表中的