2017-08-25 24 views
2

JavaScriptでAzure関数を開発するときに、azure-functions-core-toolsfunc host start --debugで関数をローカルで実行するときにNode環境変数を取得/設定するにはどうすればよいですか?Azure関数JavaScriptローカル開発環境変数

Documentation JavaScriptのAzure関数では、機能アプリのアプリケーション設定をprocess.env[settingName]でターゲティングしています。これは、azure関数appのアプリケーション設定から値を取得して公開/展開すると効果的です。

コマンドプロンプトで$env:FOO="bar"(powershell)またはset FOO=barのいずれかを使用して設定された関数内で、ローカルノードの環境変数(Windows)をログに記録しようとすると、undefinedが記録されます。コマンドcontext.log(process.env['FOO'])を使用してこれらの値を記録しようとしています。

index.js

const foo = process.env["FOO"]; 

module.exports = function (context, req) { 
    context.log('bar') // successfully logs 'bar' in the azure function log 
    context.log(foo); // logs undefined 

    if (req.query.name || (req.body && req.body.name)) { 
     context.res = { 
      // status: 200, /* Defaults to 200 */ 
      body: "Hello " + (req.query.name || req.body.name) 
     }; 
    } else { 
     context.res = { 
      status: 400, 
      body: "Please pass a name on the query string or in the request body" 
     }; 
    } 
    context.done(); 
}; 

はあなたが提供することができます任意の助けをありがとう!

答えて

5

機能アプリのルートにlocal.settings.jsonファイルを使用していますか?

{ 
    "IsEncrypted": false, 
    "Values": { 
    "FOO": "-- Your Value --", 
    } 
} 
+0

私のローカルプロジェクトは 'local.settings.json'を使用しています。あなたの例では 'process.env [" FOO "]'を使って "FOO"にアクセスできますか?ありがとう! –

+2

'local.settings.json'の' Values'プロパティを追加することで、process.env [settingName]を使って値に正常にアクセスできました。あなたは揺れます、ありがとう! –

+1

'local.settings.json'ファイルは、デプロイ後にアプリケーション設定をローカルでエミュレートする方法です。 –

関連する問題