首页 > 解决方案 > 如何在 C# 中的 AWS Lambda 项目中设置和获取环境变量

问题描述

AWS Lambda ProjectC#(非无服务器应用程序)中创建

在此处输入图像描述

我在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

如何设置和获取环境变量?

谢谢!

根据评论。

启动设置.json

函数.cs

标签: c#amazon-web-servicesasp.net-coreaws-lambdaenvironment-variables

解决方案


它非常接近,但经过一番挖掘后,我发现了如何使用 Mock Lambda 测试工具为本地运行实际设置这些。事实上,它在 launchSettings.json 文件中。您希望将设置放在配置文件节点的 Mock Lambda 测试工具部分内,而不是在它之外。

{
 "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"
   }
  }
 }
}

推荐阅读