无法使用PubsubIO.Read创建管道,设置资源...失败

时间:2016-03-23 20:02:44

标签: google-cloud-dataflow google-cloud-pubsub

我的测试管道非常简单。它试图从通过控制台创建的主题中读取。

public static void main(String[] args) throws IOException {

    Options options = PipelineOptionsFactory.fromArgs(args).
            withValidation().as(Options.class);

    options.setStreaming(true);

    Pipeline pipeline = Pipeline.create(options);

    PCollection<String> input = pipeline
            .apply(PubsubIO.Read.topic(options.getPubsubTopic()))
            .apply(ParDo.of(new ExtractEvents()));

    pipeline.run();

}

当我尝试执行此管道时,出现以下错误:

  

工作流程失败。原因:(de5f777e2e08c1d9):步骤   setup_resource_additionaltopic.subscription-375367840492394866711:设置   资源extratopic.subscription-3753678404923948667失败

Dataflow控制台还报告内部错误:

Dataflow console error

我无法在文档中找到任何内容,而我在尝试解决这个避风港的尝试和错误尝试都取得了成功。

解决方案

要运行数据流作业,项目必须启用以下Google Cloud Platform API:

  • Google Cloud Dataflow API
  • 计算引擎API(Google Compute Engine)
  • Google Cloud Logging API
  • Google云端存储
  • Google云端存储JSON API
  • BigQuery API
  • Google Cloud Pub / Sub
  • Google Cloud Datastore API

您可以使用Google Cloud Platform控制台一次enable all所需的API。

1 个答案:

答案 0 :(得分:0)

看起来您的项目没有启用Pubsub API。您是否已阅读入门指南中的说明,尤其是APIs上的部分。那里有一个链接应该能够实现你需要的一切。

您可能还需要验证是否正在为运行Dataflow作业的项目正确设置API和权限,以访问您尝试订阅的Pubsub主题。