数据流管道和 pubsub 模拟器



我正在尝试设置我的开发环境。我没有在生产中使用 google cloud pubsub,而是一直在使用 pubsub 模拟器进行开发和测试。为了实现这一点,我设置了以下环境变量:

export PUBSUB_EMULATOR_HOST=localhost:8586

这适用于python google pubsub库,但是当我切换到将java apache beam用于Google Dataflow时,管道仍然指向生产Google pubsub。管道上是否有我需要设置的设置、环境变量或方法,以便管道读取本地 pubsub 模拟器?

我在 PubsubOptions 接口中找到了解决方案,并将其扩展到我自己的 PipelineOptions 实现中。然后使用 setPubsubRootUrl(( 将其设置为模拟器的 localhost:port。

您还可以在配置文件中指定此选项

pubsubRootUrl=http://localhost:8185

或通过程序参数(尚未测试,但也应该有效(

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

http://需要符合 Java URL 格式

最新更新