我有一些工作代码。它使用BigtableConfiguration对象返回以获取与Bigtable的连接,如下所示:
var connection = BigtableConfiguration.connect("myProject", "myCluster")
返回的连接类型为com.google.cloud.bigtable.hbase.Connection
。
我知道现在有一个Bigtable模拟器可以在本地使用,我希望在我的测试中使用它。所以我试图了解如何利用它。
为了利用基于模拟器env var的自动配置,您需要使用另一个名为BigtableOptions
的配置类,如下所示:
val options = new BigtableOptions.Builder()
.setProjectId("myProject")
.setInstanceId("myCluster")
.setUserAgent("whatever")
.build()
此类有the logic来检测模拟器。但是,我无法将其传递给现有的BigtableConfiguration.connect()
方法。
所以我对如何在现有代码中使用这个新的BigtableOptions
类感到困惑。我可以沿着使用BigtableSession对象的路线前进,但这意味着重写。
如果设置了env var,我想利用模拟器承诺的自动配置,但是现在我正在考虑放弃它,转而使用像this one这样的答案。
提前致谢!
答案 0 :(得分:1)
如果设置了环境变量,Cloud Bigtable 0.9.4客户端应该只使用模拟器。有关实现的详细信息,请参阅BigtableOptions源代码中的here。
如果这对您不起作用,请在github issue上继续讨论。