如何在本地 Azure 函数 运行 中获取连接字符串环境变量?
How to get a connection string environment variable in an Azure function running locally?
我正在尝试在我的开发环境中本地 运行 设置 Azure 函数。我希望连接到 MongoDb 数据库实例。
在我的 local.settings.json
文件中添加了:
"ConnectionStrings": {
"DB_CONNECT_STRING": "mongodb://localhost:27017/MyDatabase"
}
在我的函数中我有:
module.exports = function (context, myTimer) {
console.log(process.env.DB_CONNECT_STRING);
context.done();
};
process.env.DB_CONNECT_STRING
未定义。
我假设我需要向环境变量添加某种前缀,但我无法在任何地方找到它的记录。如何指定连接字符串并在函数代码中引用它?
马特·梅森是对的。
在 Node.js 中,我们应该在 Values
集合中指定应用程序设置。然后可以使用 process.env
将这些设置读取为环境变量。
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"DB_CONNECT_STRING": "mongodb://localhost:27017/MyDatabase"
}
}
然后用process.env.DB_CONNECT_STRING
得到值。
对于那里的纯粹主义者,我找到了它。我设置了一个断点并评估了“process.env”,发现我的连接字符串格式如下:
ConnectionStrings:<ConnectionName>
所以如果我的 local.settings.json 看起来像这样:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
},
"Host": {
"CORS": "http://localhost:8080"
},
"ConnectionStrings": {
"Prod": "MyConnString"
}
}
然后我会这样访问它:
const sqlConnString = process.env['ConnectionStrings:Prod'];
因为有冒号,您必须使用括号表示法。
我正在尝试在我的开发环境中本地 运行 设置 Azure 函数。我希望连接到 MongoDb 数据库实例。
在我的 local.settings.json
文件中添加了:
"ConnectionStrings": {
"DB_CONNECT_STRING": "mongodb://localhost:27017/MyDatabase"
}
在我的函数中我有:
module.exports = function (context, myTimer) {
console.log(process.env.DB_CONNECT_STRING);
context.done();
};
process.env.DB_CONNECT_STRING
未定义。
我假设我需要向环境变量添加某种前缀,但我无法在任何地方找到它的记录。如何指定连接字符串并在函数代码中引用它?
马特·梅森是对的。
在 Node.js 中,我们应该在 Values
集合中指定应用程序设置。然后可以使用 process.env
将这些设置读取为环境变量。
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"DB_CONNECT_STRING": "mongodb://localhost:27017/MyDatabase"
}
}
然后用process.env.DB_CONNECT_STRING
得到值。
对于那里的纯粹主义者,我找到了它。我设置了一个断点并评估了“process.env”,发现我的连接字符串格式如下:
ConnectionStrings:<ConnectionName>
所以如果我的 local.settings.json 看起来像这样:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
},
"Host": {
"CORS": "http://localhost:8080"
},
"ConnectionStrings": {
"Prod": "MyConnString"
}
}
然后我会这样访问它:
const sqlConnString = process.env['ConnectionStrings:Prod'];
因为有冒号,您必须使用括号表示法。