由于 PHP 5.5 版不再受社区支持,我们强烈建议新应用使用 PHP 7 运行时

使用 Datastore 模式的 Cloud Firestore

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

对于主要将由 App Engine 应用使用的数据库,我们建议使用 Datastore 模式 的 Firestore。如需详细了解 Firestore 模式,请参阅选择原生模式或 Datastore 模式

将 Datastore 模式与 App Engine 结合使用

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

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

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

  2. 在您的应用中,将 Datastore 声明为依赖项,方法是向应用的 composer.json 文件添加 google/cloud-datastore 并从应用的目录中运行 composer install。详细了解 Composer

  3. 使用 Google Cloud 客户端库读取和写入实体以及查询数据

配置索引

Datastore 模式针对应用执行的每次查询均使用索引。任何时候实体发生变化,这些索引也会得到更新,因此在应用提交查询时,Datastore 可快速返回结果。

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

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

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

设置数据库权限

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

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

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

使用 Datastore 模式模拟器进行本地测试

Cloud SDK 包含 Datastore 模式生产环境的本地模拟器。您可以使用该模拟器在本地开发和测试应用。此外,该模拟器有助于为 Datastore 模式生产实例生成索引,以及删除不必要的索引。

如果您使用 App Engine 本地开发服务器来测试应用,则可以通过在启动服务器时设置 --support_datastore_emulator=true 标志来确保服务器使用 Datastore 模式模拟器。

如果您使用的是 Datastore 模式模拟器,那么 dev_appserver 将显示以下内容:

... Using Cloud Datastore Emulator.

价格、配额和限制

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