3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure Functionにおけるローカル環境とクラウド環境の環境変数の設定方法の違い

Last updated at Posted at 2022-03-13

こんにちは。torippy1024です。
最近、Azureラボ環境をいじれる機会を得たため、今更ながらAzure Functionを操作してみました。
その際、ローカル環境とクラウド環境(Azure上)で環境変数の設定方法に違いがあったため、メモとして残しておきます。

サンプルコード(Python)

例えば以下のように、ユーザー名を環境変数として取得する場合を考えます。

import os 

user = os.environ.get("USER_NAME")

os.environ.get()で"USER_NAME"という名前の環境変数の値を取得している訳ですが、
この環境変数の指定方法が、ローカル環境とクラウド環境(Azure上)で異なっており、それぞれどう設定すればいいか最初わからなかったため、メモとして残しておきます。

ローカル環境における環境変数の設定方法

ローカル環境では、ローカル端末上のlocal.settings.jsonで指定します。
階層としてトップレベルにあり、host.jsonやrequirements.txtと同じディレクトリ内にあります。

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=xxxxxxxxxxxx;AccountKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;EndpointSuffix=core.windows.net",
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "USER_NAME": "torippy1024"
  }
}

クラウド環境(Azure上)における環境変数の設定方法

クラウド環境では、Azure Portal上のAzure Functionの画面で指定します。
関数アプリの画面の「設定」-「構成」を選択します。
「新しいアプリケーション設定」で環境変数を追加できます。

20220313qiita1.jpg

環境変数を追加/編集した後は必ず「保存」を押して変更内容を反映させましょう。
「保存」を押さないと変更内容は破棄されてしまいます。また、同時にアプリの再起動も行われるので注意しましょう。

今後の課題(独り言)

パスワードやアクセスキーを指定する際は、上記のような環境変数でなく、Azure Key Vaultを使うべきだと思います。
試してみたのですが、アクセスポリシーの設定方法がよくないのか、うまくいってません・・・・・。
こちらは解決したらまたメモとして書いておこうと思います。

3
0
1

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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?