2017-08-25 1 views
2

Bei der Entwicklung von Azure-Funktionen in JavaScript locally, wie würde Node-Umgebungsvariablen verwendet/gesetzt werden, wenn die Funktionen lokal mit azure-functions-core-toolsfunc host start --debug ausgeführt werden?Azure-Funktionen JavaScript Lokale Entwicklungsumgebungsvariablen

Documentation für Azure-Funktionen in JavaScript demonstrieren Targeting Funktion App-Anwendungseinstellungen über process.env[settingName]. Dies scheint gut zu funktionieren, wenn published/deployed die Werte aus den Anwendungseinstellungen der azure function App zieht.

Beim Versuch, lokale Knotenumgebungsvariablen (Windows) innerhalb der Funktion zu protokollieren, die in der Eingabeaufforderung entweder $env:FOO="bar" (Powershell) oder set FOO=bar festgelegt wurden, protokolliert sie undefined. Versuch, diese Werte mit dem Befehl context.log(process.env['FOO']) zu protokollieren.

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(); 
}; 

Vielen Dank für jede Hilfe, die Sie anbieten können!

Antwort

5

Verwenden Sie die Datei local.settings.json im Stammverzeichnis Ihrer Funktions-App?

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

Mein lokales Projekt verwendet eine 'local.settings.json'. Würde ich in Ihrem Beispiel über "process.env [" FOO "]' "FOO" aufrufen? Vielen Dank! –

+2

Ich konnte erfolgreich auf die Werte zugreifen, indem ich process.env [settingName] nutze, indem ich die Eigenschaft 'Values' von' local.settings.json' hinzufüge. Du schaukelst, danke! –

+1

Korrekt, die 'local.settings.json'-Datei ist eine Möglichkeit, die Anwendungseinstellungen nach der Bereitstellung lokal zu emulieren. –

Verwandte Themen