2017-01-28 25 views
0

我有一些工作代碼。它採用了BigtableConfiguration對象返回去Bigtable的連接,就像這樣:BigtableConfiguration v BigtableOptions運行Bigtable模擬器時

var connection = BigtableConfiguration.connect("myProject", "myCluster") 

返回的連接爲com.google.cloud.bigtable.hbase.Connection類型。

我知道現在有一個用於本地的Bigtable模擬器,我希望在我的測試中使用它。所以我想了解如何利用它。

看來,以便採取基於仿真的環境變量自動配置的優勢,你需要使用另一個名爲BigtableOptions配置型類,如下所示:

val options = new BigtableOptions.Builder() 
    .setProjectId("myProject") 
    .setInstanceId("myCluster") 
    .setUserAgent("whatever") 
    .build() 

這個類有the logic到檢測仿真器。但是,我無法將其傳遞給我現有的BigtableConfiguration.connect()方法。

所以我很困惑,我怎麼能用這個新的BigtableOptions類與我現有的代碼。我可以沿着使用BigtableSession對象的路線走,但這意味着重寫。

我想利用模擬器承諾的自動配置,如果env var已設置,但現在我正在考慮放棄那個贊成像this one這樣的答案。

在此先感謝!

回答

1

如果設置了環境變量,則Cloud Bigtable 0.9.4客戶端應該只使用模擬器。有關實現細節,請參閱BigtableOptions源代碼中的here

如果這不適合你,讓我們繼續關於github issue的討論。

+0

現在所有作品。所以看起來'BigtableOptions'只是以某種方式在引擎蓋下使用,我不需要明確地配置它。謝謝您的幫助。 –