我正在尝试在项目中使用数据流API。在云仪表板中,我使用规定的链接启用了所有API:https://console.cloud.google.com/flows/enableapi?apiid=dataflow,compute_component,logging,storage_component,storage_api,bigquery,pubsub,datastore&redirect=https:%2F%2Fcloud.google.com%2Fdataflow%2Fgetting-started&showconfirmation=true&_ga=1.200330088.756201991.1447156694
但是,当我在eclipse中运行我的数据流作业时,我收到了运行时错误:
引起:java.lang.RuntimeException:无法创建工作流作业:Project尚未启用API。请使用Google Developers Console激活项目的“数据流”API。 在com.google.cloud.dataflow.sdk.runners.DataflowPipelineRunner.run(DataflowPipelineRunner.java:572) 在com.google.cloud.dataflow.sdk.runners.DataflowPipelineRunner.run(DataflowPipelineRunner.java:190) 在com.google.cloud.dataflow.sdk.Pipeline.run(Pipeline.java:180) 在com.ri.gateway.storedata.CloudConnectPipeline.main(CloudConnectPipeline.java:146)
引起:com.google.api.client.googleapis.json.GoogleJsonResponseException:403 Forbidden { “代码”:403, “错误”:[{ “域名”:“全球”, “消息”:“项目尚未启用API。请使用Google Developers Console为您的项目激活'dataflow'API。”, “理由”:“被禁止” }], “消息”:“项目尚未启用API。请使用Google Developers Console为您的项目激活'dataflow'API。”, “status”:“PERMISSION_DENIED” }
我不确定为什么会发生这种情况 - 因为API似乎通过gcp仪表板处于活动状态?
答案 0 :(得分:2)
请仔细检查您是否针对启用了Cloud API的相同 Google Cloud Platform项目提交了Cloud Dataflow作业。这与您从中启动作业的Eclipse项目不同。
如果Google Developers Console说启用了Cloud Dataflow API,则很可能是Eclipse中的--project
管道选项设置不正确。请注意项目ID,项目名称和项目编号之间的区别。请使用项目ID,而不是其他GCP项目标识符。
最后,我们偶尔会看到通过您上面发布的链接启用API并未生效。几乎总是在解决问题后不久重新尝试。