Firebase 在 Firebase 控制台中提供工具来探索和分析项目的历史数据。这些工具可以帮助您回答有关如何使用您的应用程序的许多问题。但是,有时您还想设置自己的查询来回答自己的问题。
为此,您可以将项目数据从 Firebase 导出到BigQuery中。借助 BigQuery,您可以使用 BigQuery SQL 分析数据或导出数据以与您自己的工具一起使用。
您可以将 Firebase 配置为将数据从以下 Firebase 产品导出到 BigQuery:
所需的权限和建议的角色
要查看或管理将数据导出到 BigQuery 的设置,您必须具有所需的访问权限级别。
如果您没有必要的 Firebase 访问权限,您可以要求 Firebase 项目所有者通过Firebase 控制台 IAM 设置为您分配适用的角色。如果您对访问 Firebase 项目(包括查找或分配所有者)有任何疑问,请查看权限和访问 Firebase 项目的常见问题解答。
下表适用于 Firebase 项目与 BigQuery 的顶级链接。
Firebase 控制台中的操作 | 所需的 IAM 权限 | 默认情况下包含所需权限的 IAM 角色 | 其他必需的角色 |
---|---|---|---|
关联 Firebase 项目和 BigQuery | firebase.links.create | 没有任何 | |
取消 Firebase 项目与 BigQuery 的关联 | firebase.links.delete | 没有任何 | |
查看 BigQuery 的现有链接 | firebase.links.list |
| 没有任何 |
下表专门适用于将 Google Analytics 数据导出到 BigQuery。
Firebase 控制台中的操作 | 所需的 IAM 权限 | 默认情况下包含所需权限的 IAM 角色 | 其他必需的角色 |
---|---|---|---|
启用将 Google Analytics(分析)数据导出到 BigQuery | firebase.links.update 和 serviceusage.services.enable |
| |
为特定 Firebase 应用启用导出 | firebase.links.update |
| |
禁用特定 Firebase 应用的导出 | firebase.links.update |
|
下表适用于您可以将数据导出到 BigQuery 的任何 Firebase 产品,例如 Crashlytics 或性能监控。
Firebase 控制台中的操作 | 所需的 IAM 权限 | 默认情况下包含所需权限的 IAM 角色 | 其他必需的角色 |
---|---|---|---|
允许将产品数据导出到 BigQuery | firebase.links.update | 没有任何 | |
为特定 Firebase 应用启用导出 | firebase.links.update | 没有任何 | |
禁用特定 Firebase 应用的导出 | firebase.links.update | 没有任何 |
启用 BigQuery 导出
转到 Firebase 控制台中的集成页面。
在BigQuery卡片中,点击链接。
按照屏幕上的说明启用 BigQuery。
当您为 Google Analytics、性能监控或云消息传递启用 BigQuery 导出时:
您选择数据集区域。创建数据集后,位置无法更改,但您可以将数据集复制到其他位置或手动将数据集移动(重新创建)到其他位置。要了解更多信息,请参阅更改数据集位置。
默认情况下,您项目中的所有应用都与 BigQuery 相关联,您以后添加到项目中的所有应用都会自动与 BigQuery 相关联。您可以管理哪些应用程序发送数据。您在 Google Analytics 中的
Google Analytics 4 媒体资源中的所有网络数据也会自动导出。Firebase 将现有数据的副本导出到 BigQuery。
Firebase 设置每天将您的数据从 Firebase 项目同步到 BigQuery。
要停用 BigQuery 导出,请在 Firebase 控制台中取消关联您的项目。
更改数据集位置
在为 BigQuery 导出启用产品并创建数据集后,您无法更改该数据集的位置。但是,您可以将现有数据集复制到具有不同位置的新数据集。
要了解 BigQuery 数据集位置,请参阅数据集位置。
选择要更改数据集位置的产品。
要更改云消息传递数据集的位置,请按照以下说明操作:
- 转到 Firebase 控制台中的集成页面。
- 在 BigQuery 卡片中,点击Manage 。
- 关闭云消息传递滑块以禁用 BigQuery。
- 转到 Google Cloud Console 中的BigQuery页面。
- 创建一个临时数据集以存储原始数据集中现有数据的副本。为临时数据集指定与原始数据集名称不同的名称。
- 将数据从原始数据集复制或移动到临时数据集。
- 删除原始数据集。
- 创建一个与原始数据集 (
firebase_messaging
)同名的新的永久数据集,然后选择所需的区域。 - 将临时数据集中的数据复制或移动到新数据集,然后删除临时数据集。
- 对于新数据集,单击SHARING选项卡并选择Permissions 。然后将
exporter@fcm-bq-export-prod.iam.gserviceaccount.com
主体添加为 BigQuery 数据所有者。 - 转到 Firebase 控制台并打开 Cloud Messaging 滑块以重新启用 BigQuery。然后选择要为其启用导出的应用程序。
- 转到 Google Cloud Console 中的BigQuery页面,并验证是否为新区域中的云消息传递创建了传输配置。
定价和 BigQuery 沙盒
如果您的 Firebase 项目采用免费的 Spark 计划,您可以将 Crashlytics、Cloud Messaging、Google Analytics 和性能监控链接到BigQuery 沙箱,它提供对 BigQuery 的免费访问。有关 BigQuery 沙盒功能的信息,请参阅使用 BigQuery 沙盒。
如果您的 Firebase 项目采用付费计划,您可以将 A/B 测试、Crashlytics、云消息传递、Google Analytics 和性能监控链接到 BigQuery。您对 BigQuery 的使用受正常BigQuery 定价的约束,其中包括有限的免费使用。