2016-03-23 13 views
1

Meine Test-Pipeline ist wirklich einfach. Es versucht, von einem Thema zu lesen, das über die Konsole erstellt wurde.Konnte keine Pipeline mit PubsubIO.Read erstellen, Einrichtung der Ressource ... fehlgeschlagen

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(); 

} 

Wenn ich versuche, diese Pipeline ich die folgende Fehlermeldung erhalten, auszuführen:

Workflow failed. Causes: (de5f777e2e08c1d9): Step setup_resource_additionaltopic.subscription-375367840492394866711: Set up of resource additionaltopic.subscription-3753678404923948667 failed

Die Datenfluß-Konsole meldet auch einen internen Fehler:

Dataflow console error

Ich kann nicht finden alles in der Dokumentation und meine Trial-and-Error-Versuche zur Lösung dieses Problems waren nicht erfolgreich.

Lösung

einen Datenfluß-Job ausführen zu können, muss ein Projekt die folgenden Google Cloud Platform APIs ermöglichen:

  • Google Cloud Dataflow API
  • Compute Engine API (Google Compute Engine)
  • Google Cloud-Protokollierungs-API
  • Google Cloud-Speicher
  • Google Cloud Storage JSON API
  • BigQuery API
  • Google Cloud Pub/Sub
  • Google Cloud Datastore API

Sie können sofort die Google Cloud Platform-Konsole enable all die erforderlichen APIs verwenden.

Antwort

0

Offenbar ist in Ihrem Projekt die Pubsub-API nicht aktiviert. Haben Sie die Anweisungen in der Kurzanleitung gelesen, insbesondere den Teil APIs. Dort gibt es einen Link, der alles ermöglicht, was Sie brauchen, um loszulegen.

Möglicherweise müssen Sie auch überprüfen, ob die APIs und Berechtigungen für das Projekt, in dem der Dataflow-Job ausgeführt wird, ordnungsgemäß eingerichtet sind, um auf das Pubsub-Thema zuzugreifen, das Sie abonnieren möchten.

+0

Dank Ben. Obwohl du pubsub, dataflow etc. unabhängig benutzt hast, wie du vorgeschlagen hast, den "enable everything" Link hat es behoben. – Jeremy