Невозможно создать конвейер с PubsubIO.Read, не удалось настроить ресурс

Мой тестовый конвейер действительно прост. Он пытается читать из темы, созданной через консоль.

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: Не удалось настроить ресурс additionaltopic.subscription-3753678404923948667

Консоль Dataflow также сообщает о внутренней ошибке:

Ошибка консоли потока данных

Я ничего не могу найти в документации, и мои попытки проб и ошибок решить эту проблему не увенчались успехом.

Решение

Чтобы запустить задание Dataflow, в проекте должны быть включены следующие API Google Cloud Platform:

  • API Google Cloud Dataflow
  • Compute Engine API (Google Compute Engine)
  • Google Cloud Logging API
  • Облачное хранилище Google
  • Google Cloud Storage JSON API
  • BigQuery API
  • Google Cloud Pub / Sub
  • API Google Cloud Datastore

Вы можете использовать консоль Google Cloud Platform, чтобы включить все необходимые API сразу.


person Jeremy    schedule 23.03.2016    source источник


Ответы (1)


Похоже, в вашем проекте не включен Pubsub API. Вы ознакомились с инструкциями в руководстве по началу работы, особенно с частью, посвященной API? . Там есть ссылка, которая должна включить все, что вам нужно для работы.

Вам также может потребоваться убедиться, что API и разрешения правильно настроены для проекта, в котором выполняется задание Dataflow, для доступа к теме Pubsub, на которую вы пытаетесь подписаться.

person Ben Chambers    schedule 23.03.2016
comment
Спасибо, Бен. Несмотря на то, что вы использовали pubsub, dataflow и т. Д. Независимо, как вы предложили, ссылка «включить все» исправила это. - person Jeremy; 24.03.2016