badRequest API 响应 运行 数据流 WordCount 示例

badRequest API response when running dataflow WordCount example

我正在尝试将 google 云数据流传输到 运行。我正在使用装有 MacOS 10.9 的 MacBook。

我按照 GitHubPage

的说明安装了 google 云 SDK 以及数据流 java SDK

为了让数据流 sdk 与 maven 成功编译,我必须将 JAVA_HOME 设置到 JDK 1.7 位置。

为了 运行 WordCount 示例,我必须安装 JDK 8 并将其用作我的 运行 时间环境,否则我会收到 "major.minor version is unknown: 51.0".

现在,当我 运行 使用 mvn 的 WordCount 示例(如 GitHub page 中的建议)时,程序说它上传了 41 个文件到暂存区。之后,我得到一个 API 错误:

{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "message" : "Request contains an invalid argument.",
    "reason" : "badRequest"
  } ],
  "message" : "Request contains an invalid argument.",
  "status" : "INVALID_ARGUMENT"
}

这是我运行在终端中的命令:

mvn -e exec:java -pl examples   -Dexec.mainClass=com.google.cloud.dataflow.examples.WordCount   -Dexec.args="--project=${PROJECT} --stagingLocation=${STAGING} --runner=BlockingDataflowPipelineRunner --output=${OUTPUT}"

OUTPUT=gs://path/to/outfile.txt

STAGING=gs://path/to/staging(文件夹)

PROJECT=(项目的数字 ID)

我相信 PROJECT id 以及 STAGING 文件夹都是正确的,因为文件已上传,根据命令行输出。

OUTPUT 文件尚不存在,但文件夹存在。

我看不出问题出在哪里,你能指出正确的方向吗?

谢谢!

项目应该是字母数字项目 ID 而不是项目编号。

对于可怕的错误信息,我们深表歉意。 1.0.0 或更新版本的 SDK 应返回信息更丰富的错误消息。