WebAppsだと環境変数をアプリケーション設定の箇所に書くことができます。接続文字列という変数設定もできるのでこれらについてメモ
環境変数
通常のNode.jsでの環境変数アクセスはprocess.env.HOGE
といった形でアクセスしますね。
WebAppsだとアプケーション設定の箇所にこんな感じで設定しておくことができます。
↓のキャプチャでHOSTの値を使いたい場合はprocess.env.HOST
MySQLの設定だとこんな感じ。
const config = {
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
port: 3306,
ssl: true
};
接続文字列
基本同じなんですけど、パスワードなどの情報を扱うときは↑の画像のようにマスクかけたいところです。
接続文字列に追加しておくとこんな感じで非表示になってくれるので通常パスワードなどはこちらに入れた方が良いです。
MySQLや他のDBMSを選択できますが今回はMySQLにしました。
この場合はMYSQLCONNSTR_
という接頭辞で環境変数が設定されます。以下のような形で利用できます。
const config = {
host: process.env.MYSQLCONNSTR_DB_HOST,
user: process.env.MYSQLCONNSTR_DB_USER,
password: process.env.MYSQLCONNSTR_DB_PASS,
database: process.env.MYSQLCONNSTR_DB_NAME,
port: 3306,
ssl: true
};
他のDBMSを選択した際についてはAzure Web Appsで、DBへの接続文字列をコードから分離するの記事などを見るとアクセス方法が分かります。
だいたいまとめてる
ローカルで.envなど使ってる時でも使いたいのでこんな感じのが多いかも
const config = {
host: process.env.DB_HOST || process.env.MYSQLCONNSTR_DB_HOST,
user: process.env.DB_USER || process.env.MYSQLCONNSTR_DB_USER,
password: process.env.DB_PASS || process.env.MYSQLCONNSTR_DB_PASS,
database: process.env.DB_NAME || process.env.MYSQLCONNSTR_DB_NAME,
port: 3306,
ssl: true
};