Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

Azure Functionsで環境変数を使う(Java編)

最近、JavaでAzure Functionsを触っています。環境構築の方法は以前Qiitaにまとめました。
qiita.com

今回は環境変数の設定方法について調べました。公式ドキュメントはこちらですが、具体的な設定方法が読み取りにくかったので実際に試した結果とあわせてまとめます。
docs.microsoft.com

内容的には以下の記事そのままです(^^;
jonathangiles.net

ローカルの開発環境の場合

local.settings.jsonValues属性を使います。

local.settings.jsonを開いて
f:id:kikutaro777:20190217094057p:plain

環境変数「MY_ENV_VALUE」を追加しました。

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "java",
    "MY_ENV_VALUE": "env value!"
  }
}

JavaのソースコードではSystem.getenv()を使って環境変数の値を取得できます。

String env = System.getenv("MY_ENV_VALUE");
return request.createResponseBuilder(HttpStatus.OK).body("Hello, " + name + " and Env=" +env).build();

実行結果
f:id:kikutaro777:20190217095137p:plain

Azure Functions環境の場合

デプロイ後の実行環境で環境変数を使うには「アプリケーション設定」で設定が必要でした。
f:id:kikutaro777:20190217095406p:plain

設定画面の下のほうにある「アプリケーション設定」にローカル環境で追加した環境変数を定義します。
f:id:kikutaro777:20190217095650p:plain

追加したら「保存」を忘れずに。自分は最初ここの保存を忘れて「あれ、反映されない」と少しハマっていました;
f:id:kikutaro777:20190217095746p:plain

しばらくすると設定が反映されて、アクセスすると、次のように環境変数の結果が表示されました。
f:id:kikutaro777:20190217095953p:plain

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ Javaへ
にほんブログ村