LoginSignup
0
0

More than 5 years have passed since last update.

Node.jsからWeb Appsの環境変数へのアクセスと接続文字列へのアクセス

Posted at

WebAppsだと環境変数をアプリケーション設定の箇所に書くことができます。接続文字列という変数設定もできるのでこれらについてメモ

環境変数

通常のNode.jsでの環境変数アクセスはprocess.env.HOGEといった形でアクセスしますね。

WebAppsだとアプケーション設定の箇所にこんな感じで設定しておくことができます。

↓のキャプチャでHOSTの値を使いたい場合はprocess.env.HOST

スクリーンショット 2018-09-26 11.28.56.png

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
};

接続文字列

基本同じなんですけど、パスワードなどの情報を扱うときは↑の画像のようにマスクかけたいところです。

接続文字列に追加しておくとこんな感じで非表示になってくれるので通常パスワードなどはこちらに入れた方が良いです。

スクリーンショット 2018-09-26 11.34.38.png

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
};
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0