使用 Cloud Datastore

Cloud Datastore 是一个 NoSQL 文档数据库,能够自动扩缩,性能出色,并且方便应用开发。

在 Python 2 标准运行时中运行的 App Engine 应用只能使用 NDB 客户端库与 Cloud Datastore 进行交互。Google Cloud 客户端库不适用于在 App Engine 标准环境中运行的 Python 2 应用。

将 Datastore 与 App Engine 搭配使用

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

  1. 创建数据库(如果您尚未创建)。

    如要创建新的数据库,请选择 Datastore 模式 Cloud Firestore。Cloud Firestore 是 Cloud Datastore 的下一代主要版本,也是对该产品的一次品牌重塑。 对于将主要用于 App Engine 的数据库,建议使用 Datastore 模式

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

  2. 在您应用的 requirements.txt 文件中添加 google-cloud-datastore,将 Cloud Datastore 声明为依赖项。

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

配置索引

Cloud Datastore 使用索引来处理应用提交的每个查询。任何时候实体发生变化,这些索引也会得到更新,因此在应用提交查询时,Datastore 可快速返回结果。

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

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

此外,如果您不运行本地测试或者测试不包含复杂查询,也可以手动向应用的 index.yaml 文件 (/appengine/docs/standard/python/config/indexref#automatic) 添加索引。

设置数据库权限

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

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

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

价格、配额和限制

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

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
适用于 Python 2 的 App Engine 标准环境