是否有类似于 AWS
的 localstack
的本地服务器实现可以用于 Google BigQuery
?
有一个针对应用程序引擎的本地服务器实现参考,使用 dev_appserver.py
可以运行一个虚拟的app.yaml。
- 我无法使用 localhost:8000/console 访问交互式控制台
- 在使用
dev_appserver.py --enable-console app.yaml
启动服务器后,我可以运行命令行实用程序吗?
是否有类似于 AWS
的 localstack
的本地服务器实现可以用于 Google BigQuery
?
有一个针对应用程序引擎的本地服务器实现参考,使用 dev_appserver.py
可以运行一个虚拟的app.yaml。
dev_appserver.py --enable-console app.yaml
启动服务器后,我可以运行命令行实用程序吗?虽然 Google 没有提供模拟器,但是有一个开源的 BigQuery 模拟器可用 https://github.com/goccy/bigquery-emulator
我正在使用它,对于本地开发和单元测试非常有用。
运行 BQ 模拟器
$ docker pull ghcr.io/goccy/bigquery-emulator:latest --project=test-local
[bigquery-emulator] REST server listening at 0.0.0.0:9050
[bigquery-emulator] gRPC server listening at 0.0.0.0:9060
如果你正在使用 Go,你需要向新 bQ 客户端传递以下选项
client, err := bigquery.NewClient(
ctx,
projectID,
option.WithEndpoint("http://0.0.0.0:9050"),
option.WithoutAuthentication(),
)
BigQuery模拟器使用SQLite进行存储。您可以在启动时选择内存或文件作为数据存储目的地,如果将其设置为文件,则数据可以持久化。
您可以在启动时从YAML文件中加载种子数据
Google还有一个开放的工单来创建BQ模拟器https://issuetracker.google.com/issues/129248927
目前没有(由Google提供的)BigQuery模拟器。