Google 致力于为黑人社区推动种族平等。查看具体举措

Stream Collections to BigQuery

Firebase
Firebase 制造

将指定 Cloud Firestore 集合中的实时增量更新发送至 BigQuery。

此扩展程序的运作方式

使用此扩展程序将一个 Cloud Firestore 集合中的文档导出到 BigQuery。导出操作采用实时、增量的形式,因此 BigQuery 中的数据是 Cloud Firestore 中内容的镜像。

该扩展程序会创建并更新包含以下两种 BigQuery 资源的一个数据集

  • 一个原始数据,其中存储着集合内文档的完整更改历史记录。此表中包含若干元数据字段,以便 BigQuery 可以显示数据的当前状态。主要元数据字段包括用于文档更改的"timestamp"、"document_name"和"operation"。
  • 一个视图,代表集合内数据的当前现状。它还会显示各文档最新"操作"("CREATE"、"UPDATE"或"IMPORT")的日志。

如果您在指定的集合中创建、更新、删除或导入文档,则此扩展程序会将相应更新发送到 BigQuery。然后,您可以对此镜像数据集运行查询。

请注意,此扩展程序仅监听此集合中的文档更改,不会监听任何子集合中的更改。但是,您可以安装更多此扩展程序的实例,专用于监听数据库中的子集合或其他集合。如果您在给定集合内的多个文档有相同的子集合,则可以使用"{wildcard}"表示法来监听所有这些子集合(例如:"chats/{chatid}/posts")。

额外设置

安装此扩展程序之前,您需要:

回填 BigQuery 数据集

此扩展程序仅发送文档中发生更改的内容 - 不会将现有文档的完整数据集导出到 BigQuery 中。因此,若要用集合中的所有文档回填 BigQuery 数据集,可以运行此扩展程序提供的导入脚本

重要提示:安装此扩展程序后,请对整个集合运行导入脚本,否则可能会丢失导入期间对数据库执行的所有写入操作。

生成架构视图

将数据导入 BigQuery 后,可以运行此扩展程序提供的架构视图脚本,以创建能够更轻松地查询相关数据的视图。您只需要提供一个描述数据结构的 JSON 架构文件,该架构视图脚本即可创建视图。

结算

要安装扩展程序,您的项目必须采用 Blaze(随用随付)方案

  • 您需要为此扩展程序所需的 Firebase 资源支付少量费用(通常约为 $0.01/月),即使没有使用此扩展程序也要支付。
  • 此扩展程序用到了其他 Firebase 和 Google Cloud Platform 服务,如果超出这些服务的免费层级,可能会产生相关的费用:
  • BigQuery(此扩展程序使用流式插入写入 BigQuery)
  • Cloud Firestore
  • Cloud Functions(Node.js 10+ 运行时。查看常见问题解答

如何安装此扩展程序

使用 Firebase 控制台

要安装和管理扩展程序,您可以使用 Firebase 控制台。

使用控制台安装

使用 Firebase CLI

要安装和管理扩展程序,您还可以使用 Firebase CLI:

步骤 1:运行以下 npm 命令来安装 CLI 或将 CLI 更新到最新版本。

npm install -g firebase-tools
不能运行?请参阅 Firebase CLI 参考文档或者更改您的 npm 权限

步骤 2:运行以下命令来安装此扩展程序

firebase ext:install firebase/firestore-bigquery-export --project=projectId_or_alias
作者
许可
Apache-2.0
版本
0.1.20