Java 运行Bigtable emulator时的BigtableConfiguration v BigtableOptions
我有一些工作代码。它使用一个对象返回以获得到Bigtable的连接,如下所示:Java 运行Bigtable emulator时的BigtableConfiguration v BigtableOptions,java,scala,hbase,bigtable,google-cloud-bigtable,Java,Scala,Hbase,Bigtable,Google Cloud Bigtable,我有一些工作代码。它使用一个对象返回以获得到Bigtable的连接,如下所示: var connection = BigtableConfiguration.connect("myProject", "myCluster") val options = new BigtableOptions.Builder() .setProjectId("myProject") .setInstanceId("myCluster") .setUserAgent("whatever
var connection = BigtableConfiguration.connect("myProject", "myCluster")
val options = new BigtableOptions.Builder()
.setProjectId("myProject")
.setInstanceId("myCluster")
.setUserAgent("whatever")
.build()
返回的连接类型为com.google.cloud.bigtable.hbase.connection
我知道现在有一个Bigtable模拟器可供本地使用,我希望在测试中使用它。所以我想知道如何利用它
似乎为了利用基于emulator env var的自动配置,您需要使用另一个名为BigtableOptions
的配置类型类,如下所示:
var connection = BigtableConfiguration.connect("myProject", "myCluster")
val options = new BigtableOptions.Builder()
.setProjectId("myProject")
.setInstanceId("myCluster")
.setUserAgent("whatever")
.build()
此类必须检测仿真器。但是,我无法将其传递给现有的BigtableConfiguration.connect()
方法
因此,我对如何在现有代码中使用这个新的BigtableOptions
类感到困惑。我可以继续使用对象,但这意味着重新写入
如果设置了env var,我想利用emulator承诺的自动配置,但现在我正在考虑放弃这一点,转而采用类似的解决方案
提前谢谢 如果设置了环境变量,Cloud Bigtable 0.9.4客户端应该只与emulator一起工作。有关实现的详细信息,请参见BigtableOptions源代码中的
如果这对您不起作用,请让我们继续在a上进行讨论。现在一切正常。因此,
BigtableOptions
似乎只是以某种方式在后台使用,我不需要显式配置它。谢谢你的帮助。