Cloud Datastore 是一个 NoSQL 文档数据库,能够自动扩缩,性能出色,并且方便应用开发。
在 Python 2 标准运行时中运行的 App Engine 应用只能使用 NDB 客户端库与 Cloud Datastore 进行交互。Google Cloud 客户端库不适用于在 App Engine 标准环境中运行的 Python 2 应用。将 Datastore 与 App Engine 搭配使用
如需将 Cloud Datastore 与 App Engine 搭配使用,请执行以下操作:
创建数据库(如果您尚未创建)。
如要创建新的数据库,请选择 Datastore 模式 Cloud Firestore。Cloud Firestore 是 Cloud Datastore 的下一代主要版本,也是对该产品的一次品牌重塑。 对于将主要用于 App Engine 的数据库,建议使用 Datastore 模式。
您可以在 App Engine 应用中使用现有的 Cloud Datastore 数据库。这些现有数据库将自动升级为 Datastore 模式 Cloud Firestore。
在您应用的
requirements.txt文件中添加google-cloud-datastore,将 Cloud Datastore 声明为依赖项。使用 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 配额”页面。