1
1

More than 1 year has passed since last update.

AppServiceの接続文字列に騙されるな!

Last updated at Posted at 2022-05-16

やりたいこと

環境変数として参照できるように、データベースの接続文字列をApp Serviceに設定したい。

簡単やん!

Azure Portalの設定

[App Service]-[構成]-[接続文字列]からちょちょいのちょいやん!

image.png

image.png

ファイルでの記述

んで、こうしてやればええんやろ

// 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に合わせてあげないといけません。

おわりに

僕はアプリケーション設定に登録する派です。

1
1
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
1
1