Python 2 不再受社区支持。我们建议您将 Python 2 应用迁移到 Python 3

在 Datastore 模式下使用 Cloud Firestore

Firestore 是一个 NoSQL 文档数据库,能够自动扩缩、具备出色的性能,并且易于进行应用开发。Firestore 是 Datastore 的最新版本;与 Datastore 相比,这个新版本引入了多项改进功能。

由于 Datastore 模式的 Firestore 针对服务器用例和 App Engine 进行了优化,因此,对于主要将由 App Engine 应用使用的数据库,我们建议使用 Datastore 模式的 Firestore。原生模式的 Firestore 最适合移动和实时通知用例。如需详细了解 Firestore 模式,请参阅选择原生模式或 Datastore 模式

在 Python 2 标准运行时中运行的 App Engine 应用只能使用 NDB 客户端库与 Datastore 模式进行交互。我们建议您在将 Python 2 应用迁移到 Python 3 期间迁移到 Cloud NDBApp Engine NDB 在 Python 3 运行时中不可用。

将 Datastore 模式与 App Engine 结合使用

如需将 Datastore 模式与 App Engine 搭配使用,请执行以下操作:

  1. 创建数据库(如果您尚未创建),然后选择“Datastore 模式 Firestore”。

    您可以将现有的 Datastore 数据库与 App Engine 应用搭配使用。这些现有数据库将自动升级为 Datastore 模式 Firestore

  2. 使用 Cloud NDB 在 Datastore 模式数据库中创建、检索和管理实体。

配置索引

Datastore 模式使用索引来处理应用执行的每个查询。每当实体更改时,这些索引都会更新,因此在应用执行查询时,系统可以快速返回结果。

Datastore 模式会自动创建单属性索引,用于简单类型的查询。对于包含多个属性的复杂查询,您需要在应用的 index.yaml 文件中配置复合索引。

App Engine 开发服务器将使用运行测试所需的复合索引更新 index.yaml 文件。同样,Datastore 模式模拟器可以在您运行测试时生成索引

如果您不运行本地测试或测试不包含复杂查询,您还可以手动将索引添加到应用的 index.yaml 文件。

设置数据库权限

默认情况下,您的应用拥有对 Google Cloud 项目中的 Datastore 模式和 Firestore 数据库执行读写操作所需的所有权限。

为了管理这些权限,每个 App Engine 应用都会使用一个默认服务帐号,该帐号提供对应用所属项目中的 Datastore 模式和 Firestore 数据库的所有读写权限。您可以更改默认服务帐号的权限,但您的应用可能会失去访问权限,除非您分配了拥有所需权限的 IAM 角色。

如需了解如何允许其他用户、应用或项目访问数据库,请参阅访问数据库

价格、配额和限制

Datastore 模式会提供免费配额,但具有每日限制。对于付费帐号,存储、读取和写入操作次数不受限制。如需了解详情,请参阅 Datastore 配额页面。