こんにちは。 cloud.confg Div の三上です。
先週の富本の Azure Functions TypescriptでGraphQLを試してみる #Azure リレー に引き続き、 毎週水曜日にAzure関連の記事を挙げる Azure リレー第4回を担当します。
Web App の設定である「アプリケーション設定」と「接続文字列」の違いについて書こうと思います。
アプリケーション設定とは?接続文字列とは?
どちらもWeb App の設定で、環境変数の設定になります。
環境変数の設定が 2 つある理由は以下に記載します。
環境変数の設定が 2 つ存在する理由
早速ですが本記事の本題です。
「どちらの設定も環境変数に関わるのであれば、どちらか片方に統一すれば良いじゃないか」と思う人も多いのではないでしょうか。
結論から言うと、アプリケーション設定と接続文字列は、主に ASP.NET 用の設定になります。
元々 ASP.NET 1.1 では、web.config にて環境変数を設定する仕様となっていました。
しかしASP.NET 2.0 以降では、ASP.NET および ASP.NET Core でデータベースへの接続文字列は Web.config
に設定され、その他のアプリケーションの設定(参照するサーバーのURLなど)は appsettings.json
にて設定されるようになりました。
「接続文字列」と「アプリケーション設定」がASP.NETで区別されて以来、Azure 上でもこれらが区別されています。
ちなみに、 ASP.NET 以外の言語の場合は値にアクセスするために接続文字列の変数キーに特殊な形式が必要になるため、アプリケーション設定を使用することがおすすめです。
蛇足
Web App のデフォルトのタイムゾーンはUTCですが、アプリケーション設定を下記のように設定することで任意のタイムゾーンに変更することが可能です。
キー : WEBSITE_TIME_ZONE
値 : Tokyo Standard Time
上の設定では、タイムゾーンをJSTに変更することができますが、値を変更すれば任意のタイムゾーンに変更することができます。