Установить Json файл как переменную окружения в heroku - PullRequest
1 голос
/ 04 августа 2020

Мы используем классификатор Google (продукт Google для искусственного интеллекта и машинного обучения) в нашем приложении для одного из вариантов использования. Google требуется json файл, содержащий учетные данные для доступа к объектам, связанным с классификатором. Мы пытаемся установить это json файл в переменных окружения на heroku.

Мы хотим установить JSON файл (. json) в переменных окружения на Heroku. Как мы можем реализовать описанный выше сценарий?

1 Ответ

0 голосов
/ 11 августа 2020
  1. Кодировать файл json как строку
import json
with open('service_account.json', 'r') as f:
    info = json.load(f)
service_account_info = json.dumps(info)
Вывести строку в ваш .env файл, например
with open('.env', 'a') as f:
    f.write(f'GOOGLE_SERVICE_ACCOUNT={service_account_info}')
Pu sh значения .env для heroku, например, использование invoke для запуска команд и honcho для анализа файла env. (Также можно использовать подпроцесс и python -dotenv, et c.)
from invoke import run
from honcho.environ import parse
with open('.env', 'r') as f:
    env = parse(f.read())
cmd = 'heroku config:set ' + ' '.join(
    f'{key}=\'{value}\''
    for key, value in env.items()
)
run(cmd)
Выбросьте (метафорически) файл json и используйте только envvars.
import json
service_account_info = json.loads(getenv('GOOGLE_SERVICE_ACCOUNT'))
# do something with service_account_info!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...