Поток данных Google Cloud ComposerJavaOperator: 403 Запрещено при создании вакансии в другом проекте - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь использовать DataflowJavaOperator в нашей тестовой среде composer, но у меня ошибка 403 forbidden.Я намерен запустить задание Dataflow Java в другом проекте , используя среду тестового композитора.

t2 = DataFlowJavaOperator(
        task_id = "run-java-dataflow-job",
        jar="gs://path/to/dataflow-jar.jar",
        dataflow_default_options=config_params["dataflow_default_options"],
        gcp_conn_id=config_params["gcloud_config"]["conn_id"],
        dag=dag
)

Мои параметры по умолчанию выглядят как

'dataflow_default_options': {
  'project': 'other-project',
  'input': 'other-project:dataset.table',
  'output': 'other-project:dataset.table'
  ...
}

IЯ попытался создать временную среду тестирования композитора в том же проекте, что и Dataflow, и это позволяет мне использовать DataflowJavaOperator, как и ожидалось.Только когда среда композитора находится в другом проекте, таком как поток данных, DataflowJavaOperator не работает должным образом.

Мой текущий обходной путь - использование BashOperator, используйте «env», чтобы установить GOOGLE_APPLICATION_CREDENTIALS в качестве пути gcp_conn_id, сохранить jarфайл в нашем тестовом компоновщике и просто запустите команду bash:

java -jar /path/to/dataflow-jar.jar \ 
[... all Dataflow job options]

Можно ли использовать DataflowJavaOperator для запуска заданий потока данных в другом проекте?

1 Ответ

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

Вам нужно другое соединение GCP, созданное для Composer, чтобы взаимодействовать с вашим вторым проектом GCP, и вам нужно передать этот идентификатор соединения gcp_conn_id в DataFlowJavaOperator

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...