如何在 Eclipse 中将 GCP 凭据设置为 运行 数据流管道

How to set GCP credential in Eclipse to run Dataflow pipeline

我有一个在 Eclipse 中使用 Java 开发的管道。

安装 Cloud SDK for Eclipse 后,我可以 运行 使用数据流配置在本地管道(直接 运行ner):

我也想 运行 它在本地使用 maven 配置。

如果我尝试使用 Maven 执行它,我遇到的问题是管道尝试创建 pubsub 订阅时的凭据。

Exception: org.apache.beam.sdk.Pipeline$PipelineExecutionException: java.lang.RuntimeException: Failed to create subscription to topic projects/xxx/topics/test on project projects/xxx: 403 Forbidden

{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "The request is missing a valid API key.",
    "reason" : "forbidden"
  } ],
  "message" : "The request is missing a valid API key.",
  "status" : "PERMISSION_DENIED"
}
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  7.154 s
[INFO] Finished at: 2019-12-12T11:19:36+01:00
[INFO] ------------------------------------------------------------------------

我安装并配置了云shell。同时设置环境变量 GOOGLE_APPLICATION_CREDENTIALS


如果我在我的cmd(也是gcp shell)中执行mvn命令,我也有同样的错误

您可以 运行 在 shell 中执行以下命令,然后尝试 运行 作业

gcloud auth application-default login

或者,您也可以在此处查看如何为 GCP 设置 eclipse - https://cloud.google.com/dataflow/docs/quickstarts/quickstart-java-eclipse