C# 版 Hello World
本代码示例是一个使用 C# 编写的“hello world”应用,说明如何完成以下任务:
- 设置身份验证
- 连接到 Bigtable 实例
- 新建一个表。
- 将数据写入表中。
- 重新读取这些数据。
- 删除表。
设置身份验证
如需在本地开发环境中使用本页面上的 .NET 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭证设置应用默认凭证。
安装 Google Cloud CLI。
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
如需了解详情,请参阅 Set up authentication for a local development environment。 如需了解详情,请参阅身份验证文档中的为本地开发环境设置 ADC。
运行示例
本代码使用 .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# Data API 的 BigtableClient
可帮助您读取和写入表数据。
创建表
调用 BigtableTableAdminClient
类中的 CreateTable()
方法,以生成用于存储“hello world”问候语的 Table
对象。该表有一个列族,其中保留了每个值的一个版本。
将行写入表
使用包含三条简单问候语的字符串数组 s_greetings[]
作为要写入表中的数据源。首先,使用 MutateRow()
向该表中写入一行。然后循环遍历该数组的其余部分,以构建一个 MutateRowsRequest
对象(其中,每条问候语都有一个对应条目)。使用 MutateRows()
发出一次性写入所有条目的请求。然后,循环遍历返回的响应,以检查每个条目的状态代码,确保其已成功写入。
创建过滤条件
在读取您写入的数据之前,请创建过滤条件,以限制 Bigtable 返回的数据。此过滤条件指示 Bigtable 仅返回每个值的最新版本,即使该表包含符合垃圾回收条件但尚未删除的旧单元也是如此。
按行键读取行
使用 ReadRow()
方法,并传入您刚刚创建的过滤条件,以获取该行中每个值的一个版本。
扫描所有表行
调用 ReadRows()
方法并传入过滤条件,以获取表中的所有行。由于您传入了过滤条件,因此 Bigtable 仅会返回每个值的一个版本。
删除表
使用 DeleteTable()
方法删除表。
综合应用
以下为不包含注释的完整代码示例。