Использование воздушного потока с BigQuery и облачным sdk выдает ошибку «Пользователь должен пройти проверку подлинности при предоставлении проекта пользователя» - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь запустить воздушный поток локально. Мой DAG имеет BigQueryOperator, и я хочу использовать облачный SDK для аутентификации. Я запускаю «gcloud auth application-default login», чтобы получить файл json с учетными данными. Я пытаюсь проверить мой Dag, выполнив команду: airflow test testdag make_tmp_table 2019-02-13 Я получаю сообщение об ошибке «Пользователь должен пройти проверку подлинности при предоставлении пользовательского проекта»

Если я вместо облачного sdk использую служебную учетную запись с правами администратора Права на BigQuery это работает, но мне нужно использовать аутентификацию через облако SDK.

Кто-нибудь знает, что означает это сообщение об ошибке или как я могу запустить airflow и использовать облачный sdk для аутентификации?

Я использовал следующий источник, чтобы попытаться понять, как я могу запустить airflow с BigQueryOperators локально. https://medium.com/@jbencina / локального тестирования-с Google-cloud- composerapache -airflow-75d4213d2893

Ответы [ 2 ]

1 голос
/ 23 января 2020

либо вы не работаете над нужным проектом, либо у вас нет прав для выполнения этой работы.

я предлагаю следующее:

проверьте текущую конфигурацию, запустив:

gcloud auth list

убедитесь, что у вас есть правильный проект и правильная учетная запись, если не выполните эти команды для их установки:

gcloud auth application-default login

вам будет предложено указать ссылку. следуйте ему и войдите в свой аккаунт. После этого вы увидите код подтверждения, скопируйте его и добавьте его в свой терминал gcloud.

Следующее, что нужно сделать, - убедиться, что у вашей учетной записи есть разрешения на выполнение той работы, которую вы пытаетесь выполнить. вероятно, вам нужна эта роль role / composer .admin , если она не работает, добавьте роль примитива role / editor из вашей консоли IAM . Но используйте эту примитивную роль только для целей тестирования, и нецелесообразно использовать ее для проекта производственного уровня.

0 голосов
/ 23 января 2020

Я решил это, удалив файл учетных данных, созданный, когда я сделал: gcloud auth application-default login, а затем заново создал файл. Тогда это сработало. Таким образом, у меня был правильный метод, просто что-то было сломано в файле учетных данных.

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