Ошибка BigQuery: «Could not automatically determine credentials»

Could not automatically determine credentials

Аутентификация в Google Cloud возможна из под двух типов аккаунтов User и Service account. И большинство современных гайдов базируются на аутентификации через Service аккаунт, подробнее можно почитать в материалах для изучения в конце статьи.

Аутентификация через сервисный аккаунт

Пройдемся по необходимым этапам для создания сервисного аккаунта и получения JSON-ключа.

  1. Идем в IAM & Admin и кликаем на Service Accounts, далее кликаем на кнопку Create Service Account
  2. Вводим имя, описание и жмем Create. Далее  выбираем роль и жмем Continue. Done!
  3. Вновь идем в IAM & Admin и кликаем на Service Accounts, где выбираем вновь созданный аккаунт.

  1. В этом окне выбираем Keys
  2. Кликаем Add Key и Create New Key, выбираем JSON
  3. Кликаем на Create и скачиваем JSON-файл на ваш компьютер
  4. Будет круто если вы разместите его в корне диска C (напр. «C:\datalake-312615-c84327f654a.json»)

Далее как советует гугл нам необходимо инициализировать переменную с путем до вашего json файла в PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Название_вашего_файла.json"

Далее в cmd:

set GOOGLE_APPLICATION_CREDENTIALS=D:\analyze_sentiment\MyFirstProject-bbe4f7bccb98.json

Но при попытке как-то взаимодействовать с Google Cloud вы получите ошибку DefaultCredentialsError: Could not automatically determine credentials

Ошибка DefaultCredentialsError: Could not automatically determine credentials

В 90% случаев ошибка связана с тем, что переменная была создана в виртуальном окружении, никак не связанном с вашим проектом. Поэтому самым простым решением будет создать переменную через библиотеку os.

Всё что нужно сделать, это добавить в ваш код следующие строки:

import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "C:\datalake-312615-c8c1ab7f654a.json"

Данным кодом вы добавляете переменную «GOOGLE_APPLICATION_CREDENTIALS» в виртуальное окружение именно в то виртуальное окружение из которого запускаете ваш скрипт.


Полезные материалы для изучения: