Java 数据流管道和子仿真器
我正在尝试设置我的开发环境。我一直在使用pubsub模拟器进行开发和测试,而不是在生产中使用google cloud pubsub。为此,我设置了以下环境变量:Java 数据流管道和子仿真器,java,google-cloud-dataflow,google-cloud-pubsub,apache-beam,Java,Google Cloud Dataflow,Google Cloud Pubsub,Apache Beam,我正在尝试设置我的开发环境。我一直在使用pubsub模拟器进行开发和测试,而不是在生产中使用google cloud pubsub。为此,我设置了以下环境变量: export PUBSUB_EMULATOR_HOST=localhost:8586 这对python google pubsub库有效,但当我切换到使用java apache beam进行google数据流时,管道仍然指向生产google pubsub。管道上是否有我需要设置的设置、环境变量或方法,以便管道读取本地pubsub仿真器
export PUBSUB_EMULATOR_HOST=localhost:8586
这对python google pubsub库有效,但当我切换到使用java apache beam进行google数据流时,管道仍然指向生产google pubsub。管道上是否有我需要设置的设置、环境变量或方法,以便管道读取本地pubsub仿真器?我在PubsubOptions接口中找到了解决方案,并将其扩展为我自己的PipelineOptions实现。然后使用setPubSubrotUrl()将其设置为仿真器的localhost:port。您也可以在配置文件中指定此选项
pubsubRootUrl=http://localhost:8185
或通过程序参数(尚未测试,但也应能工作)
http://
需要符合Java URL格式啊,太简单了。愚蠢的我。PubsubOptions options=PipelineOptionsFactory.fromArgs(args).withValidation().as(PubsubOptions.class);options.setPubSubrotURL(“);
-Dexec.args="--pubsubRootUrl=http://localhost:8185"