Firebase에서 데이터를 읽고 console.log에 데이터를 읽는 Heroku 노드 작업을 만들려고합니다. (은/bin 디렉토리 안에있는)firebase privateKey를 이스케이프하여 Heroku 설정 변수로 사용합니다.
내 노드 스크립트입니다 :
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"
로컬로 스크립트를 실행하면 새로운 행 + Firebase에서 반환 된 작업으로 개인 키가 기록됩니다. 그러나, 내가 Heroku에서 실행할 때 (heroku run myScript
) \n
문자 (한 줄로)로 개인 키를 기록하고 (아마도 나쁜 개인 키로 인해) Firebase에서 데이터를 읽지 못합니다. 어떤 아이디어?
정확한 답변으로 표시해야합니다. – skwny