Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数据流管道和子仿真器_Java_Google Cloud Dataflow_Google Cloud Pubsub_Apache Beam - Fatal编程技术网

Java 数据流管道和子仿真器

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仿真器

我正在尝试设置我的开发环境。我一直在使用pubsub模拟器进行开发和测试,而不是在生产中使用google cloud 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"