C# 版 Hello World
本代码示例是一个使用 C# 编写的“hello world”应用,说明如何完成以下任务:
- 设置身份验证
- 连接到 Bigtable 实例
- 新建一个表。
- 将数据写入表中。
- 重新读取这些数据。
- 删除表。
设置身份验证
如需在本地开发环境中使用本页面上的 .NET 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭证设置应用默认凭据。
-
安装 Google Cloud CLI。
-
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
-
如果您使用的是本地 shell,请为您的用户账号创建本地身份验证凭证:
gcloud auth application-default login
如果您使用的是 Cloud Shell,则无需执行此操作。
如果系统返回身份验证错误,并且您使用的是外部身份提供方 (IdP),请确认您已 使用联合身份登录 gcloud CLI。
如需了解详情,请参阅 为本地开发环境设置身份验证。
运行示例
本代码使用 .NET 版 Google Cloud 客户端库中的 C# Admin API 库和 C# Data API 库与 Bigtable 通信。
如需运行本示例程序,请按照 GitHub 上的 .NET Bigtable 示例说明进行操作。完成构建和运行以及快速入门中的步骤,创建可在 Hello World 应用中使用的资源。请务必修改 HelloWorld.cs 文件,添加您所创建资源的名称。
将 Cloud 客户端库与 Bigtable 搭配使用
示例应用会连接到 Bigtable 并演示一些简单操作。
连接到 Bigtable
首先,请创建两个可用于连接到 Bigtable 的客户端对象。C# Admin API 的 BigtableTableAdminClient 可帮助您创建和删除实例与表。C# Google Data API 的 BigtableClient 可帮助您读取和写入表数据。
创建表
调用 BigtableTableAdminClient 类中的 CreateTable() 方法,以生成用于存储“hello world”问候语的 Table 对象。该表有一个列族,其中保留了每个值的一个版本。
将行写入表
使用包含三条简单问候语的字符串数组 s_greetings[] 作为要写入表中的数据源。首先,使用 MutateRow() 向该表中写入一行。然后循环遍历该数组的其余部分,以构建一个 MutateRowsRequest 对象(其中,每条问候语都有一个对应条目)。使用 MutateRows() 发出一次性写入所有条目的请求。然后,循环遍历返回的响应,以检查每个条目的状态代码,确保其已成功写入。
创建过滤条件
在读取您写入的数据之前,请创建过滤条件,以限制 Bigtable 返回的数据。此过滤条件指示 Bigtable 仅返回每个值的最新版本,即使该表包含符合垃圾回收条件但尚未删除的旧单元也是如此。
按行键读取行
使用 ReadRow() 方法,并传入您刚刚创建的过滤条件,以获取该行中每个值的一个版本。
扫描所有表行
调用 ReadRows() 方法并传入过滤条件,以获取表中的所有行。由于您传入了过滤条件,因此 Bigtable 仅会返回每个值的一个版本。
删除表
使用 DeleteTable() 方法删除表。
综合应用
以下为不包含注释的完整代码示例。