Конвейер потока данных и эмулятор pubsub

Я пытаюсь настроить среду разработки. Вместо того, чтобы использовать Google Cloud pubsub в производстве, я использовал эмулятор pubsub для разработки и тестирования. Для этого я установил следующую переменную среды:

export PUBSUB_EMULATOR_HOST=localhost:8586

Это сработало для библиотеки python google pubsub, но когда я переключился на использование java apache beam для потока данных google, конвейер по-прежнему указывает на производственный google pubsub. Есть ли в конвейере параметр, переменная среды или метод, которые мне нужно настроить, чтобы конвейер считывал данные для локального эмулятора pubsub?


person rezn8    schedule 11.04.2017    source источник


Ответы (2)


Я нашел решение в интерфейсе PubsubOptions и расширил его для своей собственной реализации PipelineOptions. Затем с помощью setPubsubRootUrl () установите для него localhost: порт эмулятора.

person rezn8    schedule 12.04.2017
comment
Ах, это было так просто. глупый я. Параметры PubsubOptions = PipelineOptionsFactory.fromArgs (args) .withValidation () .as (PubsubOptions.class); options.setPubsubRootUrl (localhost: 8085); - person Pari; 18.07.2018

Вы также можете указать эту опцию в файле конфигурации

pubsubRootUrl=http://localhost:8185

или через программный аргумент (не тестировал, но тоже должен работать)

-Dexec.args="--pubsubRootUrl=http://localhost:8185"

http:// требуется для соответствия формату URL-адреса Java

person namp10010    schedule 06.10.2020