Я пытаюсь создать задачу Heroku node, которая считывает данные из Firebase и console.log.
Мой node script (находится внутри каталога /bin ):
require('dotenv').config({ silent: true });
var firebase = require('firebase');
firebase.initializeApp({
serviceAccount: {
projectId: process.env.fb_projectId,
clientEmail: process.env.fb_clientEmail,
privateKey: process.env.fb_privateKey
},
databaseURL: process.env.fb_databaseURL
})
console.log(process.env.fb_privateKey);
firebase.database().ref('tasks').once('value', function(snapshot) {
console.log(snapshot.val());
process.exit();
})
Все переменные env верны, кроме fb_privateKey
, так как содержат \n
символы.
Как мой локальный файл .env
, так и переменные среды Heroku содержат ключ с именем fb_privateKey
и значение в виде строки с символами \n
- в окружении "
.
fb_privateKey="-----BEGIN PRIVATE KEY-----\nMY-PRIVATE-KEY\n-----END PRIVATE KEY-----\n"
Когда я запускаю script локально, он регистрирует мне закрытый ключ с новыми строками + задачи, которые были возвращены из Firebase. Однако, когда я запускаю его на Heroku, (heroku run myScript
) регистрирует личный ключ с символами \n
(как одну строку) и не считывает данные из Firebase (вероятно, из-за плохого закрытого ключа). Любые идеи?