我已经在C#中创建了AWS Lambda Project (不是无服务器应用程序)

我在aws-lambda-tools-defaults.json中定义了一个环境变量,如下所示
"environment-variables": {
"my-api": "http://myapihost.com/api/attendance-backfill"
}在Function.cs中,获取值如下所示
var apiUrl = Environment.GetEnvironmentVariable("my-api").ToString();但它总是以null的形式出现。
如何设置和获取环境变量?
谢谢!
如评论所示。


发布于 2019-06-13 05:01:56
它非常接近,但在深入研究之后,我发现如何使用Mock Lambda测试工具为本地运行设置这些参数。事实上,它在launchSettings.json文件中。您希望将设置放在profiles节点的Mock Lambda Test Tool部分内,而不是放在它的外部。
{
"profiles": {
"Mock Lambda Test Tool": {
"commandName": "Executable",
"commandLineArgs": "--port 5050",
"workingDirectory": ".\\bin\\Debug\\netcoreapp2.1",
"executablePath": "C:\\Users\\%USERNAME%\\.dotnet\\tools\\dotnet-lambda-test-tool-2.1.exe",
"environmentVariables": {
"environment": "test"
}
}
}
}发布于 2019-02-24 00:57:18
有两个地方需要设置环境变量:开发时和部署时。为此,请从“解决方案资源管理器”的“属性”文件夹下打开launchSettings.json文件。然后添加以下JSON属性:
"environmentVariables": {
"my-api": "something"
}要在部署时设置环境变量,可以将这些变量添加到aws-lambda-tools-defaults.json文件中。(只需记住要转义双引号。)
environment-variables, its format is: "<key1>=<value1>;<key2>=<value2>;".在你的情况下,你应该
"environment-variables" : "\"my-api\"=\"http://myapihost.com/api/attendance-backfill\";"通过使用系统库aws blog,可以在C#代码中直观地使用环境变量作为Lambda函数逻辑的一部分:
System.Environment.GetEnvironmentVariable();
在您的情况下,您可以使用以下代码;
System.Environment.GetEnvironmentVariable("my-api"); apiUrl = var
在this document中,建议您获取环境变量的方法是正确的。
var variableValue = Environment.GetEnvironmentVariable("nameOfVariable"); https://stackoverflow.com/questions/54843650
复制相似问题