Python 版 Hello World
本示例是一个“Hello World”应用,采用 Python 编写而成,旨在说明如何完成以下操作:
- 设置身份验证。
- 连接到 Bigtable 实例。
- 新建一个表。
- 将数据写入表中。
- 重新读取这些数据。
- 删除表。
Bigtable 的 Python 客户端库提供两个 API,asyncio
和同步 API。如果您的应用是异步的,请使用 asyncio
。
设置身份验证
如需在本地开发环境中使用本页面上的 Python 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
如需了解详情,请参阅 Set up authentication for a local development environment。
运行示例
本示例使用 Python 版 Cloud 客户端库的 Bigtable 软件包与 Bigtable 通信。Bigtable 软件包是新应用的最佳选择。如果您需要将现有 HBase 工作负载移至 Bigtable,请参阅使用 HappyBase 软件包的“hello world”示例。
要运行此示例程序,请按照 GitHub 上的示例说明执行操作。
将 Cloud 客户端库与 Bigtable 搭配使用
示例应用会连接到 Bigtable 并演示一些操作。
安装和导入客户端库
使用 PIP 将所需的 Python 软件包安装到 virtualenv 环境中。该示例包含一个需求文件,其中定义了所需的软件包。
导入模块。
Asyncio
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
同步
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
连接到 Bigtable
使用 bigtable.Client
连接到 Bigtable。
Asyncio
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
同步
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
创建表
使用 Instance.table()
实例化表对象。创建列族并设置其垃圾回收政策,然后将列族传递到 Table.create()
以创建表。
将行写入表
循环遍历一系列问候语字符串,从而为该表创建一些新行。
在每次迭代中,使用 Table.row()
来定义行并为其分配一个行键,调用 Row.set_cell()
来为当前单元设置值,并将新行附加到行数组中。最后,调用 Table.mutate_rows()
将行添加到表中。
Asyncio
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
同步
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
创建过滤器
在读取您写入的数据之前,请使用 row_filters.CellsColumnLimitFilter()
创建过滤条件,以限制 Bigtable 返回的数据。此过滤条件指示 Bigtable 仅返回每列中的最新单元,即使表包含在垃圾回收期间尚未移除的旧单元也是如此。
Asyncio
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
同步
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
按行键读取行
调用表的 Table.read_row()
方法以通过特定行键引用行,传入行键和过滤条件,以获取该行中每个值的一个版本。
Asyncio
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
同步
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
扫描所有表行
使用 Table.read_rows()
从表中读取一系列行。
Asyncio
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
同步
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
删除表
使用 Table.delete()
删除表。
总结
以下为不包含注释的完整示例。
Asyncio
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
同步
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。