Google cloud dataflow 运行wordcount示例时请求错误

Google cloud dataflow 运行wordcount示例时请求错误,google-cloud-dataflow,Google Cloud Dataflow,我是谷歌云数据流新手。我在windows计算机上设置了所有内容,当我尝试使用以下命令运行wordcount示例时: mvn compile exec:java-Dexec.mainClass=com.nyt.dataflowPoc.WordCount-Dexec.args=“--project=cdfpoc-1264--stagingLocation=gs://poc location/staging--runner=BlockingDataflowPipelineRunner--output=

我是谷歌云数据流新手。我在windows计算机上设置了所有内容,当我尝试使用以下命令运行wordcount示例时:

mvn compile exec:java-Dexec.mainClass=com.nyt.dataflowPoc.WordCount-Dexec.args=“--project=cdfpoc-1264--stagingLocation=gs://poc location/staging--runner=BlockingDataflowPipelineRunner--output=gs://poc location”

它给了我下面的错误

原因:com.google.api.client.googleapis.json.GoogleJsonResponseException:400错误请求 { “代码”:400, “错误”:[{ “域”:“全局”, “消息”:“无效值”, “原因”:“无效” } ], “消息”:“无效值” }

我看了其他帖子,上面说我需要给出投影,它应该是字母数字。我已经给出了,但仍然是相同的错误

有人能帮忙吗

提前谢谢


-卡皮尔

问题解决了。我同时给出了暂存和输出位置。当我深入研究代码时,我发现只需要其中一个。所以当我删除--output参数时,我得到了实际的输出,并且可以在指定的存储位置看到结果

谢谢,
卡皮尔

问题来自:

--output=gs://poc-location
因此,您只需要指定一个bucket。WordCount实际上将其解释为输出的前缀,并尝试写入文件gs://poc-location-00000-of-00001。因为这个bucket不存在,所以会出现一个错误。 您的管道将在以下情况下正常运行:

--output=gs://poc-location/

一般来说,可以同时指定
stagingLocation
output
管道选项。如果未指定输出,它将默认为
gs://your staging location/counts.txt
。也就是说,您应该能够指定任何其他谷歌云存储位置,并且不应该看到任何问题。