オレオレプロジェクト(というかオレオレ実験場?)のPVをツイートするサービスでは Azure WebJobs を使ってます。
Twitterのコンシューマキーなどの設定について、Webアプリケーション本体については以前ブログに書いたとおりAzureポータル上の設定を使うようにしていました。
で、Azureポータル上の設定についてはWebアプリだけに適用されると勘違いしてて、Azure WebJobs については app.config に書くしかないと思ってました。
ところが、先日、PVをツイートするサービスのステージング環境(別のWeb Apps)を作ったのですが、よくよく考えるとその環境用に app.config を設定してない。しかし、思った通りに動いていることに気がついて、結果オーライではあるものの気になったので(誰か何か教えてくれるかなという淡い期待を込めて)つぶやいてみました。
Azure WebJobでConfigurationManager使ってapp.config読ませてるつもりだったけど、最終的にWebAppsで設定しているApplication settingsが使われてる気がする。結果オーライなんだけど、なんで?
— なかじ (@nakaji) 2016年4月15日
No.1さん
@nakaji ConfigurationManagerだから
— こすもす.えび (@kosmosebi) 2016年4月15日
は、はい(笑)。
帝国兵さん
@nakaji ポータルの設定を使うことで、app.configに接続文字列をいれてネットワーク越しにデプロイするのを避けられます。あとスロットを使う場合はapp.configより使いやすいです
— 帝国兵 (@superriver) 2016年4月15日
なるほど。No.1さんからの返事がアレだっこともありますが、帝国の方から返事をもらえて嬉しかったです。
まとめ
Web Appsと同様、WebJobsでもアプリケーションの設定が使われるんですね。というわけで、app.configに書いていたTwitterのコンシューマキーなどの設定情報を削除してデプロイしました。
それと、以前から気になってたスロットですが、帝国兵さんからの情報をきっかけに使ってみることにしました。感想は、「ステージング環境として Web Apps 作る必要なんてなかったんや。ステージングで確認した結果を1操作で本番と差し替えることができる。もちろん、アプリケーションの設定はそのままで。うすうす便利だとは思ってたけど、これはかなりいい。フォー!」
勉強不足を知られてしまうことになりますが、わからないでいるよりずっといいと思います。なにより教えてくれる人がいるってことがありがたい。ほんと教えてくれてありがとうございます。
そして、AzureのサービスプランをStandardに変えるのもそれほど躊躇しなくていいのは、酢酸先生とはまもつ先生のおかげです。ありがとうございます。
おしまい。