やりたいこと
環境変数として参照できるように、データベースの接続文字列をApp Serviceに設定したい。
簡単やん!
Azure Portalの設定
[App Service]-[構成]-[接続文字列]からちょちょいのちょいやん!
ファイルでの記述
んで、こうしてやればええんやろ
// javascriptの例
process.env.DATABASE_URL
参照できない
DATABASE_URL
が見つからない旨のエラーが出てアプリが落ちてしまう。
なぜか
公式ドキュメントを見ると、AppServiceに設定する接続文字列について以下の記述があります。
実行時に、接続文字列は、前に次の接続の種類が付加された環境変数として使用できます。
SQLServer: SQLCONNSTR_
MySQL: MYSQLCONNSTR_
SQLAzure: SQLAZURECONNSTR_
カスタム: CUSTOMCONNSTR_
PostgreSQL: POSTGRESQLCONNSTR_
選択した種類に応じて、キーの頭に特定の文字列が付与されてたからです。
解決策
だから、さっきのDATABASE_URL
は、選択したDB種類が「SQLAzure」なので、こうしないといけなかったんです。
process.env.SQLAZURECONNSTR_DATABASE_URL
.NET
系はうまいことやってくれる(ことが多い)みたいですが、JavaとかNodeとかだと、気を遣って書式をAzureに合わせてあげないといけません。
おわりに
僕はアプリケーション設定に登録する派です。