I am trying to setup an Azure Function to run locally on my development environment. I wish to connect to a MongoDb database instance.
In my local.settings.json
file I have added:
"ConnectionStrings": {
"DB_CONNECT_STRING": "mongodb://localhost:27017/MyDatabase"
}
In my function I then have:
module.exports = function (context, myTimer) {
console.log(process.env.DB_CONNECT_STRING);
context.done();
};
process.env.DB_CONNECT_STRING
is undefined.
I assume I need to add some kind of prefix to the environment variable, but I can't find this documented anywhere. How do I specify a connection string and reference it in the function code?
Matt Mason is right.
In Node.js, we should specify app settings in the Values
collection. These settings can then be read as environment variables by using process.env
.
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"DB_CONNECT_STRING": "mongodb://localhost:27017/MyDatabase"
}
}
Then use process.env.DB_CONNECT_STRING
to get the value.
For the purists out there, I found it. I set a breakpoint and evaluated "process.env" and found my connection string in this format:
ConnectionStrings:<ConnectionName>
So if my local.settings.json looks like this:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
},
"Host": {
"CORS": "http://localhost:8080"
},
"ConnectionStrings": {
"Prod": "MyConnString"
}
}
Then I would access it like this:
const sqlConnString = process.env['ConnectionStrings:Prod'];
You have to use bracket notation because of the colon.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.