使用模拟器进行测试
Google Cloud CLI 提供一个内存中的本地模拟器, Bigtable,可用于测试您的应用。由于 模拟器仅将数据存储在内存中,数据在各次运行之间不会保留。它旨在帮助您在本地开发和测试中使用 Bigtable,而不是用于生产部署。
您可以将该模拟器与所有 Cloud Bigtable 客户端库搭配使用。
该模拟器不提供用于创建或管理实例和集群的管理 API。模拟器启动后,您可以使用任何项目和实例名称连接到该模拟器,以便创建表并读取或写入数据。 模拟器 不支持安全连接。
安装并运行模拟器
运行模拟器的最常用方法是使用 gcloud CLI 和 Docker。选择适合您的应用开发和 测试工作流。
设置身份验证
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud CLI
更新您的 gcloud CLI 安装,以获取最新功能:
gcloud components update beta
运行以下命令启动模拟器:
gcloud beta emulators bigtable start
如果尚未安装模拟器,系统会提示您下载并安装模拟器的二进制文件。
该模拟器将输出其运行所在的主机和端口号。
默认情况下,该模拟器会选择
localhost:8086
。要将模拟器绑定到 特定主机和端口,则使用可选的--host-port
标志,将 HOST 和 PORT:gcloud beta emulators bigtable start --host-port=HOST:PORT
下面给出了一个示例:
gcloud beta emulators bigtable start --host-port=localhost:8086
按 Control-C 停止模拟器。
Docker
确保 Docker 已安装在您的系统中且位于系统路径下。
启动模拟器:
docker run -p 127.0.0.1:8086:8086 --rm -ti google/cloud-sdk gcloud beta emulators bigtable start --host-port=0.0.0.0:8086
此命令运行模拟器,将容器中的端口映射到本地主机上的相同端口。
您还可以在现有的 Docker Compose 配置 (.yaml
) 文件中使用模拟器。如需详细了解 Docker Compose,请参阅 Docker Compose 概览。
将客户端库与模拟器搭配使用
设置 BIGTABLE_EMULATOR_HOST
环境变量,以便将客户端库与模拟器搭配使用:
Linux/macOS
export BIGTABLE_EMULATOR_HOST=localhost:8086
Windows
set BIGTABLE_EMULATOR_HOST=localhost:8086
应用启动时,客户端库会自动检查 BIGTABLE_EMULATOR_HOST
并连接到模拟器(如果其正在运行)。
设置 BIGTABLE_EMULATOR_HOST
后,您可以使用以下命令测试模拟器
hello world 示例。
要停止模拟器,请按 Ctrl+C,然后使用以下命令取消设置 BIGTABLE_EMULATOR_HOST
:
unset BIGTABLE_EMULATOR_HOST
用于模拟器的 Java 封装容器
Java 封装容器捆绑了内置的 Bigtable 模拟器, 一个用于编写测试的 Java 接口。
如需详细了解如何使用 Java 封装容器,请参阅 GitHub 代码库。
以下文档详细介绍了模拟器 Java 软件包:
过滤器
模拟器支持除 Sink
限制性过滤器之外的所有过滤器。
google-cloud-go GitHub 代码库会跟踪与 Bigtable 模拟器有关的问题。您可以在该代码库中提交错误报告和功能请求,或对现有问题发表评论。