Java 在Google数据流模板中添加对JS UDF的支持

Java 在Google数据流模板中添加对JS UDF的支持,java,maven,google-cloud-platform,google-cloud-dataflow,dataflow,Java,Maven,Google Cloud Platform,Google Cloud Dataflow,Dataflow,我有来自谷歌云平台的数据流模板 我希望向它添加更多功能,即,我希望添加对JavaScript UDF的支持。当我尝试编译文件时,使用以下命令: mvn compile exec:java \ -Dexec.mainClass=com.google.cloud.teleport.templates.${PIPELINE_NAME} \ -Dexec.cleanupDaemonThreads=false \ -Dexec.args=" \ --project=${PROJECT_ID} \ --st

我有来自谷歌云平台的数据流模板

我希望向它添加更多功能,即,我希望添加对JavaScript UDF的支持。当我尝试编译文件时,使用以下命令:

mvn compile exec:java \
-Dexec.mainClass=com.google.cloud.teleport.templates.${PIPELINE_NAME} \
-Dexec.cleanupDaemonThreads=false \
-Dexec.args=" \
--project=${PROJECT_ID} \
--stagingLocation=gs://${PROJECT_ID}/dataflow/${PIPELINE_FOLDER}/staging \
--tempLocation=gs://${PROJECT_ID}/dataflow/${PIPELINE_FOLDER}/temp \
--runner=DataflowRunner \
--windowDuration=2m \
--numShards=1 \
--topic=projects/${PROJECT_ID}/topics/windowed-files \
--outputDirectory=gs://${PROJECT_ID}/temp/ \
--outputFilenamePrefix=windowed-file \
--outputFilenameSuffix=.txt"
编译文件时,出现以下错误:

执行Java类时发生异常。类接口com.google.cloud.teleport.templates.pubText$Options缺少名为“topic”的属性。->[帮助1]
org.apache.maven.lifecycle.LifecycleExecutionException:未能在project google cloud teleport java上执行目标org.codehaus.mojo:exec maven插件:1.6.0:java(默认cli):执行java类时发生异常。类接口com.google.cloud.teleport.templates.pubText$Options缺少名为“topic”的属性。

尽管如此,我还是通过插入适当的值传递了
--topic
标志

顶部的错误。您必须通过
--inputTopic
而不是
--topic
。您可以在定义
ValueProvider
的中看到这一点:

@Description(“要读取的云发布/子主题”)
@必需的
ValueProvider getInputOptic();
void setInputOptic(ValueProvider值);
您也可以从UI运行模板,作业详细信息将显示该选项确实是
inputTopic


javadoc中的调用示例现在应该反映正确的输入参数(-inputTopic)。

其他用户将您的问题标记为质量低,需要改进。我对您的输入进行了重新措辞/格式化,使其更易于阅读/理解。请查看我的更改,以确保它们反映您的意图。但我认为你的问题仍然无法回答。您现在应该回答您的问题,以添加缺少的详细信息(请参阅)。如果您有进一步的问题或反馈,请随时给我留言。不感谢链接到源代码。请创建一个最小的示例(不一定是整个项目!)并将该代码添加到问题中。即使我将
--inputTopic
标志或任何其他变体(
--inputTopic
inputTopic
)传递给它,它仍然显示相同的错误。奇怪的是,每次它都显示缺少相同的属性,也就是说,如果我通过
--inputTopic
[ERROR]无法在project google cloud teleport java上执行goal org.codehaus.mojo:exec maven plugin:1.6.0:java(默认cli):执行java类时发生异常。类接口com.google.cloud.teleport.templates.pubsetext$Options缺少名为“inputTopic”的属性。->[帮助1]
当传递
--InputTopic
时,它会显示缺少的属性InputTopicWell,这一点也不奇怪,它只是意味着你传递的任何选项都不在模板中。您运行的是旧版本还是修改了代码?如果是后者,则可能是您修改了选项,或者扩展选项被忽略