Google AI Studio 直接与 Cloud Firestore 和 Firebase Authentication 集成,让您能够构建具有持久性数据和安全登录流程的应用。当您在 Google AI Studio 中使用“添加 Firebase 后端”功能时,代理会生成所需的代码并将您的应用连接到 Firebase 项目。
概览:为 Google AI Studio 应用添加后端
描述您的想法:在 Google AI Studio 中创建一个新应用,并描述需要数据库或身份验证的功能(例如“构建共享待办事项列表”)。
启用 Firebase 集成:选择添加 Firebase 后端 chip。代理会生成必要的代码(包括
/src/lib/firebase.ts文件和firestore.rules文件),然后将您的应用连接到 Cloud Firestore 和 Firebase Authentication。部署:准备就绪后,使用分享 > 发布 选项将应用部署到 Cloud Run。
了解 Cloud Firestore 的共享配额
代理在 Google AI Studio 中预配的所有 Cloud Firestore 数据库都位于 Firebase 项目中的同一数据库“组”中。它们都具有以下特征:
- 共享配额:群组中的所有数据库共享一个使用量配额(详见下文)。
- 无需 Cloud Billing 账号:您可以构建和测试应用,而无需添加结算信息。如需详细了解如何选择性添加结算信息,请参阅下文。
- 每日重置:如果您达到每日配额上限(例如,每天 5 万次读取),该服务将暂停该组中所有数据库的运行,并在第二天美国太平洋时间午夜左右恢复运行。
| 指标 | 配额 |
|---|---|
| 数据存储 | 总额度 1 GiB |
| 网络出站流量 | 每月 10 GiB |
| 写入单位 | 每天 4 万次写入 |
| 读取单元 | 每天 5 万次读取 |
| 实时更新单元 | 每天 5 万次更新 |
(可选)添加结算信息,即可获得更多 Cloud Firestore 配额
如果您的应用获得了一定的关注度,并且您需要超出 Cloud Firestore 的免费限额,则可以将项目升级为随用随付 Blaze 定价方案。
- 添加结算信息(如果您尚未添加):前往 Firebase 控制台,然后将结算账号与您的项目相关联。
升级数据库:默认情况下,由 Google AI Studio 代理创建的 Cloud Firestore 数据库即使在您升级定价方案后,也会继续使用共享配额。如需为特定数据库启用完全付费扩缩,您必须使用
curl命令手动将其移出群组。- PROJECT_ID:Firebase 项目 ID;您可以在 Firebase 控制台的项目设置中找到此 ID。
- DATABASE_ID:Cloud Firestore 数据库 ID,与您的 applet ID 匹配;在 Firebase 控制台的 Cloud Firestore 数据库页面上,找到名称列中的此数据库 ID。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID?updateMask=limited_free_tier" \ -d '{"limited_free_tier": false}'
Security Rules 次生成机会
Google AI Studio 根据应用的逻辑自动生成 Firebase Security Rules。 这些 Security Rules 旨在实现“默认拒绝”,这意味着您应用的最终用户只能访问他们自己的数据。
请注意,如果您直接在 Firebase 控制台中手动调整 Security Rules,Google AI Studio 代理将不知道这些更改,并且这些更改会在后续应用迭代期间被覆盖。我们建议您使用 Google AI Studio 代理调整 Firebase Security Rules,以确保您的更改得以保留并与应用的逻辑保持一致。
使用现有项目
您还可以要求 Google AI Studio 代理在您拥有的现有 Google Cloud 项目中预配 Cloud Firestore。通过提示指示代理使用现有项目,例如:
Add Firestore to this app using project PROJECT_ID.
- 系统将使用共享配额在该项目中预配新的 Cloud Firestore 数据库。
- Firebase Authentication 的 Google 登录功能。
- 系统将授予服务账号对您的 Cloud Firestore 数据库的访问权限。
为了允许从 Google AI Studio 进行管理员访问,系统将向名为
ais-sandbox@PROJECT_ID.iam.gservice.com的新服务账号授予访问您的 Cloud Firestore 数据库的权限。此账号仅与您的 Google AI Studio 应用相关联。 - 限制:如果 Firebase 项目已包含 Cloud Firestore 数据库,代理将无法再添加一个。您需要创建一个新的空项目以供使用。
使用 Firebase 控制台
您可以在 Firebase 控制台中查看应用的数据和设置。如需访问与 Google AI Studio 关联的项目,请按以下步骤操作:
- 前往 Firebase 控制台,然后选择标记为 AI Studio 的项目。
- 在左侧导航窗格中,点击构建 > Cloud Firestore 数据库,以查看和修改 Cloud Firestore 中的数据;或者点击构建 > Authentication,以配置 Authentication 设置和数据。
问题排查和常见问题解答
查找常见问题的解答,并了解如何在将 Firebase 与 Google AI Studio 应用集成时解决问题。
支持哪些身份验证方法?
当您使用添加 Firebase 后端 功能时,Google AI Studio 代理会设置 Google 登录。如需设置其他方法,请在 Firebase 控制台中启用这些方法,并让 Google AI Studio 代理协助您更新代码库。
什么是 firebase-blueprint.json 文件?
这是 Google AI Studio 代理用于了解应用代码库的中间文件。请勿手动修改此文件,因为这可能会导致代理生成不正确的代码或不安全的 Security Rules。
如果我收到“已超出配额”错误,该怎么办?
达到 Cloud Firestore 配额上限意味着,您的应用已达到 Cloud Firestore 数据库共享配额组的每日使用上限。您可以通过以下两种方式解决此问题:
- 方法 1:等待:配额每天会在美国太平洋时间零点左右重置。
- 方法 2:升级:升级到随用随付 Blaze 定价方案。
- 如果 Google AI Studio 代理为您设置了 Cloud Firestore,您必须使用添加结算信息以获取更多 Cloud Firestore 配额中所述的
curl命令,将数据库移至常规付费状态。如果您手动设置了 Cloud Firestore,则无需运行curl命令。
- 如果 Google AI Studio 代理为您设置了 Cloud Firestore,您必须使用添加结算信息以获取更多 Cloud Firestore 配额中所述的
如果我收到“缺少权限或权限不足”错误,该怎么办?
当应用尝试读取或写入 Cloud Firestore 数据库中的数据,但请求被 Security Rules 拒绝时,会发生此错误。这表示 Security Rules 不允许基于当前身份验证状态或数据路径执行尝试的操作。点击修复错误按钮,提示 Google AI Studio 代理尝试修正 Security Rules。
删除 Google AI Studio 应用后,我的 Firebase 后端会发生什么变化?
在 Google AI Studio 中删除应用不会自动删除关联的 Firebase 项目、Cloud Firestore 数据库或 Firebase Authentication 配置。
如果您添加了 Firebase 后端,则必须手动前往 Firebase 控制台,然后删除项目或清理各个资源(例如 Cloud Firestore 数据库实例和 Authentication 提供程序),以确保移除所有数据和配置。
Google AI Studio 代理能否删除或修改我的 Cloud Firestore 数据库中的数据?
Google AI Studio 代理旨在帮助预配必要的后端资源,并生成代码和 Security Rules。虽然代理本身无法直接删除、修改或操纵 Cloud Firestore 数据库中的数据条目,但它可以将旨在执行这些操作的代码写入小程序。如需执行数据管理任务(例如删除条目),请前往 Firebase 控制台中的 Cloud Firestore 数据库页面。
我所在的组织使用 Google Cloud;我可以将 Google AI Studio 应用连接到组织 Google Cloud 环境中的现有项目吗?
确保您的 Firebase 项目位于特定的 Google Cloud 组织文件夹中:
- 提前手动创建 Firebase 项目。
在 Google AI Studio 中设置 Firebase 后端时,指示代理使用您的现有项目:
Add Firestore to this app using project PROJECT_ID.
为什么我在 Firebase 控制台中找不到某些文档?
当 AI Studio 代理将数据保存到嵌套路径(例如 /users/user1/messages/msg1)而不先创建父文档 (user1) 时,它会创建所谓的不存在的父文档。这些文档不会显示在 Firebase 控制台中,因此在浏览 Cloud Firestore 数据库时很难找到它们。虽然这不会影响应用的运行方式,但您通常可以向 AI Studio 代理描述问题,以提示其创建缺少的父文档。
如需了解详情,请参阅不存在的父文档。
Cloud Firestore 数据库的位置是如何选择的?
目前,系统会根据您的位置自动选择 Cloud Firestore 数据库的位置,并且无法更改或手动指定该位置。如果您希望能够选择特定位置,请在 Google AI Studio 中依次前往设置 > 发送反馈,告知我们。
Google 如何在 Google AI Studio 中使用我的数据(例如代码和提示)?
如需详细了解我们如何使用您的数据,请参阅《Gemini API 附加服务条款》。