2017-01-28 18 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 должен работать с эмулятором, если задана переменная окружения. См. here в исходном коде BigtableOptions для деталей реализации.

Если это не сработает для вас, давайте продолжим обсуждение на github issue.

+0

Все работает сейчас. Поэтому кажется, что «BigtableOptions» используется каким-то образом под капотом, и мне не нужно его явно настраивать. Спасибо за помощь. –

 Смежные вопросы

  • Нет связанных вопросов^_^