Получите список заданий конвейерного потока данных программно, используя Java SDK - PullRequest
0 голосов
/ 21 октября 2018

Я знаю, что для этого есть команда gcloud:

gcloud dataflow jobs list --help

NAME

Список заданий потока данных gcloud - перечисляет все задания в конкретном проекте, по желанию фильтруемые по регионам

ОПИСАНИЕ

По умолчанию перечислено 100 заданий в текущем проекте;это можно переопределить с помощью флага gcloud --project и флага --limit.

Использование флага --region приведет к выводу списка заданий только с указанной региональной конечной точки.

Но я хотел бы получить этот список программным путем через Dataflow Java SDK.

Проблема, которую я пытаюсь решить:

У меня есть конвейер потока данных в потоковом режиме, и я хочу установить обновить параметр (https://cloud.google.com/dataflow/pipelines/updating-a-pipeline) соответственно, в зависимости от того, было ли развернуто это задание или нет.

например, когда я развертываю это задание в первый раз, код не должен 'Установите для этого флага update значение true, так как нет существующего задания для обновления (в противном случае программа драйвера будет выдавать жалобы и не сможет запуститься), а код должен иметь возможность запрашивать список запущенных заданий и подтверждать, что задание было запущено.и установите параметр update для его обновления (в противном случае выдается DataflowJobAlreadyExistsException).

1 Ответ

0 голосов
/ 21 октября 2018

Я нашел org.apache.beam.runners.dataflow.DataflowClient#listJobs(String), который может достичь этого.

...