Google Cloud Dataflow записывает в BigQuery (ошибка 401: требуется вход в систему) - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь записать некоторые данные в таблицу BigQuery из моего конвейера потоков данных, но при сбое записи происходит следующее сообщение об ошибке в стекдрайвере:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
 }
}

Я уже пытался аутентифицировать мой gcloud CLI tool с использованием gcloud auth application-default login и gcloud auth login до запуска конвейера потока данных с моего локального компьютера.

API для BigQuery также включен в моей консоли Google Cloud и всей этой настройкенесколько дней назад работал нормально.

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

Буду признателен за любые указания по этому вопросу.

1 Ответ

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

Бегуны потока данных используют специальную учетную запись службы для доступа к таким ресурсам, как BigQuery.Вы должны предоставить следующей учетной записи службы доступ к BigQuery:

<project-number>-compute@developer.gserviceaccount.com

Она называется Сервисная учетная запись контроллера .В документации по потоку данных вы также можете найти конкретную информацию о Доступе к наборам данных BigQuery .

Это не объясняет, почему это работало раньше или почему вы получаете 401 вместо 403, но я надеюсь,это поможет вам выполнить задание Datafow.

...