firebase의 cloud functions를 사용하다보면 .env 파일을 읽지 못하는 경우가 종종 발생합니다.
2022년부터 cloud functions에 직접 환경변수를 설정할 수 있게 되었다고 하는데요, 간단하게 한 번 알아보겠습니다.
터미널에 아래와 같은 형식으로 입력합니다.
firebase functions:config:set fooobj.barproperty="somestring" fooobj.barproperty="somestring"
JSON 형식으로 저장하기때문에 key:value
형식으로 저장해야 합니다.
주의사항
key가 오는 자리에는 대문자를 사용할 수 없습니다!
Example
firebase functions:config:set sendgrid.apikey="SG.S941-C9aA.gHY-yUopsSRKRDDKwVBvbU"
firebase-functions
를 가져온 뒤 config
를 통해 사용합니다.
process.env.FOO
와 교체해주세요.
const sgMail = require('@sendgrid/mail');
const functions = require('firebase-functions');
sgMail.setApiKey(functions.config().sendgrid.apikey);
내가 등록한 환경변수도 터미널에서 확인할 수 있습니다.
firebase functions:config:get
아래와 같은 JSON 형식으로 터미널에 출력됩니다.
{
"twilio": {
"sid": "AC97559e186sadjfk2eedb9",
"token": "aa3sadqwjdkqjewqe24"
},
"sendgrid": {
"apikey": "wj@EEsfkjsfktp52fj20f20vmcvnqsd"
}
}