Доступ json к файлу героку - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь развернуть свое приложение с Heroku с моего Github. Я поместил свои значения dotenv в конфигурационные переменные, но одно значение относится к файлу json, к которому у heroku нет доступа

GCS_KEYFILE = file.json

И это json:

{
  "type": "service_account",
  "project_id": "",
  "private_key_id": "",
  "private_key": "=\n-----END PRIVATE KEY-----\n",
  "client_email": "",
  "client_id": "",
  "auth_uri": "",
  "token_uri": "",
  "auth_provider_x509_cert_url": "",
  "client_x509_cert_url": "
}

Как мне сделать, чтобы героку получил доступ к файлу?

Обновление

Я попробовал ответ ниже, который мне не помог. В конфиге варс я пытался добавить json. Теперь я получаю следующее сообщение об ошибке:

2020-04-14T14:40:53.370477+00:00 app[web.1]: Error: Could not authenticate request
2020-04-14T14:40:53.370493+00:00 app[web.1]: ENOENT: no such file or directory, open '/app/{
type": "service_account",
  "project_id": "",
  "private_key_id": "",
  "private_key": "=\n-----END PRIVATE KEY-----\n",
  "client_email": "",
  "client_id": "",
  "auth_uri": "",
  "token_uri": "",
  "auth_provider_x509_cert_url": "",
  "client_x509_cert_url": "
2020-04-14T14:40:53.370500+00:00 app[web.1]: at /app/node_modules/gcs-resumable-upload/build/src/index.js:235:19
2020-04-14T14:40:53.370501+00:00 app[web.1]: at /app/node_modules/google-auto-auth/index.js:27:9
2020-04-14T14:40:53.370501+00:00 app[web.1]: at /app/node_modules/google-auto-auth/index.js:233:9

Это сообщение об ошибке, когда я пытаюсь ответить ниже:

Error: You have to specify credentials key file for Google Cloud Storage to work.

Код, который я пытаюсь развернуть, может быть найден здесь

1 Ответ

0 голосов
/ 14 апреля 2020

Heroku не дает вам файловую систему, так что это не тривиально.
Похоже, что есть обходной путь с использованием heroku-google-application-credentials-buildpack, но я решил это в другом способ: я упаковываю свое приложение в изображение Docker (которое включает в себя файл JSON, где бы оно ни ожидалось) и отправляю / развертываю его в Heroku.

файл json (который содержит конфиденциальную информацию) отсутствует в моем репозитории кода, и он только помещается внутрь изображения, когда оно создается.

Надеюсь, это поможет.

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