Есть ли способ для аутентификации Google Cloud Python через сам файл ключа JSON, а не путь к файлу? - PullRequest
0 голосов
/ 18 сентября 2018

Таким образом, для Ruby вы можете установить содержимое JSON в переменную окружения GOOGLE_CLOUD_KEYFILE_JSON.Я пытаюсь найти документацию для Python, но все, что я вижу, это документация, загружающая аутентификацию для пути к файлу.

Ответы [ 3 ]

0 голосов
/ 19 сентября 2018

Я нашел способ сделать это, но я хочу знать, есть ли лучший способ.Используя библиотеку google-auth, я могу сделать что-то вроде этого:

import json

from google.cloud import bigquery
from google.oauth2 import service_account

"""
Securely get content of JSON file from protected memory because having
the credential file plainly on the filesystem is unsafe
"""

service_account_info = json.loads(json_file_content_string)
credentials = service_account.Credentials.from_service_account_info(service_account_info)
client = bigquery.Client(project='secret-proj', credentials=credentials)

Подробнее о библиотеке здесь: https://google -auth.readthedocs.io / en / latest / reference / google.oauth2.service_account.html

0 голосов
/ 21 декабря 2018

Вы должны иметь возможность читать переменные окружения на Python, используя следующее:

import os
print os.environ['GOOGLE_CLOUD_KEYFILE_JSON']
0 голосов
/ 19 сентября 2018

Нет, вам нужно установить GOOGLE_APPLICATION_CREDENTIALS, указав путь к файлу JSON.

Подробнее см. https://cloud.google.com/docs/authentication/getting-started.

...