此页面提供了一个简短的练习,让您使用 Datastore 模式 Firestore API 构建命令行 TaskList 应用。TaskList 应用可存储、列出、更新和移除任务。
前提条件
- 能够使用本主题中所用的编程语言编写和运行命令行应用
除了对如何开发应用有基本了解之外,您应能够下载并安装其他库,然后再开始学习本教程。 - 启用了 Datastore 模式 API 的 Google Cloud 项目
使用 Datastore 模式的应用与启用了 Datastore 模式 API 的 Google Cloud 项目相关联。此项目提供您在应用中使用的身份验证凭据,以向 Google 表明应用的身份并授权其使用 Datastore 模式 API。
按照以下说明创建项目,为其启用 Datastore 模式 API,并通过gcloud auth login
命令为本地开发环境设置身份验证凭据。请记下项目的 ID,稍后您将会用到。
安装和设置
安装客户端库并为开发环境配置任意额外设置。
C#
- 确保安装了 Visual Studio(2013 版或更高版本)。
- 从示例代码库下载 TaskList 示例应用。
- 将文件从 zip 解压缩到 Documents 文件夹中的一个目录中。
- 在 Visual Studio 中,打开
dotnet-docs-samples-master\datastore\api\Datastore.sln
文件。 - 在 Visual Studio 的解决方案资源管理器窗口中,右键点击 TaskList 项目并选择设为启动项目。
- 再次右键点击 TaskList 项目,然后选择 Properties。
在属性窗口中,点击调试,然后在命令行参数:框中输入 Google Cloud 项目的 ID。
点击文件,然后点击保存以保存更改。
运行应用!按键盘上的 F5 键。
Go
克隆 TaskList 示例应用。
go get github.com/GoogleCloudPlatform/golang-samples/datastore/tasks
将目录切换到您克隆示例应用的位置:
cd $GOPATH/src/github.com/GoogleCloudPlatform/golang-samples/datastore/tasks
在命令提示符下,运行以下命令,其中
<project-id>
是您的 Google Cloud 项目 ID。export DATASTORE_PROJECT_ID=<project-id>
(Windows 用户:请使用
set
而不是export
。)运行应用!
go run tasks.go
Java
从示例代码库下载 TaskList 示例应用。
在命令提示符下,解压缩下载内容:
unzip main.zip
将目录切换到 TaskList 应用:
cd java-datastore-main/samples/snippets
运行以下命令,其中
<project-id>
是您的 Google Cloud 项目 ID。gcloud config set project <project-id>
编译并运行应用!
mvn clean compile mvn exec:java -Dexec.mainClass="com.google.datastore.snippets.TaskList"
Node.js
从示例代码库下载 TaskList 示例应用。
解压缩下载内容:
unzip master.zip
将目录切换到 TaskList 应用:
cd nodejs-datastore-master/samples
安装依赖项并关联应用:
npm install
在命令提示符下,运行以下命令,其中
<project-id>
是您的 Google Cloud 项目 ID。export GCLOUD_PROJECT=<project-id>
(Windows 用户:请使用
set
而不是export
。)运行应用!
node tasks.js
PHP
Python
- 确保安装了 Python(版本 2.7.9 或更高版本)、pip、virtualenv。
激活
virtualenv
会话。virtualenv venv source venv/bin/activate
从示例代码库下载 TaskList 示例应用。
解压缩下载内容:
unzip master.zip
将目录切换到 TaskList 应用:
cd python-docs-samples-master/datastore/cloud-client
安装依赖项:
pip install -r requirements.txt
运行应用!对于
<project-id>
,请使用您的 Google Cloud 项目 ID。python tasks.py new project-id
Ruby
从示例代码库下载 TaskList 示例应用。
解压缩下载内容:
unzip master.zip
将目录切换到 TaskList 应用:
cd google-cloud-ruby-master/google-cloud-datastore/samples
安装依赖项:
bundle install
在命令提示符下,运行以下命令,其中
<project-id>
是您的 Google Cloud 项目 ID。export GOOGLE_CLOUD_PROJECT=<project-id>
(Windows 用户:请使用
set
而不是export
。)运行应用!
bundle exec ruby tasks.rb
创建授权服务对象
为了使用 Google API 客户端库向 Google Cloud API 发送身份验证请求,您必须进行以下操作:
- 获取用于请求的凭据。
- 创建使用该凭据的服务对象。
然后,您可以通过对 Datastore 模式服务对象调用相关方法来进行 API 调用。
在本例中,您将从环境中获取应用默认凭据,并将其作为参数传递以创建服务对象。
以下是用于创建授权的 Datastore 模式服务对象的调用:
C#
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore C# API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Go API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Java API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Node.js API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore PHP API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Python API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Ruby API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
存储数据
Datastore 模式数据库中的对象被称为“实体”,每个实体都属于特定“种类”。TaskList 应用将存储 Task
种类的实体,这些实体具有以下属性:
description
:由用户指定作为任务描述的字符串created
:指出最初创建任务的时间的日期done
:指示任务是否已完成的布尔值
当用户添加新任务时,TaskList 应用会创建一个 Task
实体,其具有之前列出的属性的值:
C#
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore C# API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Go API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Java API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Node.js API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore PHP API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Python API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Ruby API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
对于此应用,我们还会提供一种方法来更新 done
属性,以指示任务已完成:
C#
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore C# API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Go API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Java API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Node.js API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore PHP API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Python API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Ruby API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
以下是使用 Task
实体的键删除 Task
实体的方法:
C#
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore C# API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Go API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Java API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Node.js API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore PHP API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Python API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Ruby API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
运行查询
除了直接按实体的键从 Datastore 模式数据库中检索实体之外,应用还可执行查询,按实体属性的值进行检索。典型的查询包括以下元素:
- 要查询的实体种类
- 零个或多个过滤条件,例如用于选择其属性与值匹配的种类
- 零个或零个以上排序顺序,用于对结果进行排序
对于此应用,我们将在 Datastore 模式数据库中查询 Task
实体并按创建时间排序:
C#
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore C# API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Go API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Java API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Node.js API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore PHP API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Python API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Cloud Datastore 客户端库,请参阅 Cloud Datastore 客户端库。 如需了解详情,请参阅 Cloud Datastore Ruby API 参考文档。
如需向 Cloud Datastore 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
后续步骤
本教程仅涵盖从命令行应用调用 Datastore 模式 API 所需的最基本的步骤。Datastore 模式支持快速且高度可扩缩的 ACID 事务、类似于 SQL 的查询、索引等。
- 要深入了解 Datastore 模式数据库的功能,请参阅什么是 Datastore 模式 Firestore?。
- 如需了解如何在开发应用时使用 Datastore 模式模拟器,请参阅 Datastore 模式模拟器。