기본적으로 사용할 수 있는 환경 변수 목록

FirebaseFunction 코드에서 가져올 수 있는 환경 변수는 TypeScriptprocess.env에서 확인할 수 있습니다.이번에는 Https로 접근할 수 있는 API를 제작해 두드려 확인했다.
import * as ff from 'firebase-functions'
const functions = ff.region('asia-northeast1')
export const checkEnvVars = functions.https.onRequest(async (req, res) => {
  res.json(process.env)
})
다음은 2020년 12월 11일 메시지.또한 GCP의 CloudFunction이 아니라FirebaseFunction의 실행 결과임을 주의하십시오.

Node.js12계


{
  "NO_UPDATE_NOTIFIER": "true",
  "FUNCTION_TARGET": "checkEnvVars",
  "NODE_OPTIONS": "--http-server-default-timeout=0",
  "NODE_PATH": "/workspace/node_modules",
  "NODE_ENV": "production",
  "PWD": "/srv",
  "HOME": "/root",
  "FIREBASE_CONFIG": "{\"projectId\":\"YOUR_PROJECT_ID\",\"databaseURL\":\"https://YOUR_PROJECT_ID.firebaseio.com\",\"storageBucket\":\"YOUR_PROJECT_ID.appspot.com\",\"locationId\":\"asia-northeast1\"}",
  "DEBIAN_FRONTEND": "noninteractive",
  "PORT": "8080",
  "K_REVISION": "2",
  "K_SERVICE": "checkEnvVars",
  "SHLVL": "1",
  "FUNCTION_SIGNATURE_TYPE": "http",
  "PATH": "/workspace/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
  "_": "/layers/google.nodejs.functions-framework/functions-framework/node_modules/.bin/functions-framework",
  "GCLOUD_PROJECT": "YOUR_PROJECT_ID"
}

Node.js10 계열


Node.js12계와 뚜렷한 차이가 없다.NODE_OPTIONS는 조금 다르고 K_REVISION의 수치가 증가했다(depro increament마다 하는 모습).
{
  "NO_UPDATE_NOTIFIER": "true",
  "FUNCTION_TARGET": "checkEnvVars",
  "NODE_OPTIONS": "--max-old-space-size=256",
  "NODE_PATH": "/workspace/node_modules",
  "NODE_ENV": "production",
  "PWD": "/srv",
  "HOME": "/root",
  "FIREBASE_CONFIG": "{\"projectId\":\"YOUR_PROJECT_ID\",\"databaseURL\":\"https://YOUR_PROJECT_ID.firebaseio.com\",\"storageBucket\":\"YOUR_PROJECT_ID.appspot.com\",\"locationId\":\"asia-northeast1\"}",
  "DEBIAN_FRONTEND": "noninteractive",
  "PORT": "8080",
  "K_REVISION": "3",
  "K_SERVICE": "checkEnvVars",
  "SHLVL": "1",
  "FUNCTION_SIGNATURE_TYPE": "http",
  "PATH": "/workspace/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
  "_": "/layers/google.nodejs.functions-framework/functions-framework/node_modules/.bin/functions-framework",
  "GCLOUD_PROJECT": "YOUR_PROJECT_ID"
}

Node.js 14 beta


이 기사가 공개된 다음날, 노드.js14beta를 이용할 수 있어서 바로 해봤어요.S2A_ACCESS_TOKEN 이런 말이 늘었네요.🧐 뭐 하는 데 쓰는 거지?살짝 조사해 봤는데 감이 잘 안 와요.그나저나 베타 버전이라 GA 때 없어졌을 수도 있고 갑자기 사라져도 이상하지 않아요.
{
  "NO_UPDATE_NOTIFIER": "true",
  "FUNCTION_TARGET": "checkEnvVars",
  "NODE_PATH": "/workspace/node_modules",
  "NODE_ENV": "production",
  "PWD": "/srv",
  "HOME": "/root",
  "FIREBASE_CONFIG": "{\"projectId\":\"YOUR_PROJECT_ID\",\"databaseURL\":\"https://YOUR_PROJECT_ID.firebaseio.com\",\"storageBucket\":\"YOUR_PROJECT_ID.appspot.com\",\"locationId\":\"asia-northeast1\"}",
  "DEBIAN_FRONTEND": "noninteractive",
  "PORT": "8080",
  "K_REVISION": "4",
  "S2A_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN",
  "K_SERVICE": "checkEnvVars",
  "SHLVL": "1",
  "FUNCTION_SIGNATURE_TYPE": "http",
  "PATH": "/workspace/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
  "_": "/layers/google.nodejs.functions-framework/functions-framework/node_modules/.bin/functions-framework",
  "GCLOUD_PROJECT": "YOUR_PROJECT_ID"
}

끝말


예전에Qita에 기사를 썼어요. 때는요.js8학과에서 10학과로 옮겼을 때 상당히 파괴적인 변경이 있었기 때문에 12학과가 어떻게 될지 궁금해서 조사를 해봤어요.특별한 차이가 없기 때문에 다른 문제가 없으면 12학과를 사용하세요!버전이 높을수록 언어로서의 성능이 좋아지고 Function의 성능도 향상됩니다.
어느새 12번 계열 베타가 떨어진 걸 알고 깜짝 놀랐어요.

좋은 웹페이지 즐겨찾기