Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8837

Firebase Cloud Functionsでデフォルトで使える環境変数

$
0
0

前提

  • 2019/12/09現在の情報です
  • Firebase Cloud Functions
    • GCPのCloudFunctionsではない
  • Runtime Node.js 10
    • Node.js 10はBetaなのでご注意を

TL;DR

  • Nodejs 8で取れてた環境変数が10系だと取れない可能性があるので気をつけよう
  • Nodejs 10ではこいつらが使えるぞ

ドキュメント

環境変数とは

Node.jsだと process.envで取れるやつの話です。こいつは、FirebaseやGCP側が予め設定しておいてくれる変数が存在します。
下記のようにすれば自分でも設定できます。

firebase functions:config:set someservice.key="THE API KEY" someservice.id="THE CLIENT ID"

経緯

使える環境変数一覧

実際にNode.js 10のRuntimeでFirebase Cloud Functionsをデプロイして、process.envの中身を書き出してみました。 デプロイ時の関数名はSampleFunction、regionはasia-northeast1です。一部***でマスクしてます。あくまで2019/12/09現在で取れたものなので、今後取れなくなる可能性があります。

{"NO_UPDATE_NOTIFIER":"true","FUNCTION_TARGET":"SampleFunction","NODE_OPTIONS":"--max-old-space-size=256","NODE_ENV":"production","PWD":"/srv/functions","HOME":"/root","DEBIAN_FRONTEND":"noninteractive","PORT":"8080","K_REVISION":"2","K_SERVICE":"SampleFunction","SHLVL":"1","FUNCTION_SIGNATURE_TYPE":"http","PATH":"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","OLDPWD":"/srv","_":"../start-functions-framework","FIREBASE_CONFIG":"{\"projectId\":\"***\",\"databaseURL\":\"***\",\"storageBucket\":\"***.appspot.com\",\"locationId\":\"asia-northeast1\"}","GCLOUD_PROJECT":"***","VIPSHOME":"/target"}

ドキュメントに書いてあるとおり、いろいろ取れなくなったり名前が変わったりしています。 GCP側のドキュメントには GCLOUD_PROJECTはセットしないって書いてありますが、ここに書いてあるとおりFirebase側がセットしてくれているようです。


Viewing all articles
Browse latest Browse all 8837

Trending Articles