首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何访问Lambda环境变量?

如何访问Lambda环境变量?
EN

Stack Overflow用户
提问于 2018-08-04 19:26:29
回答 2查看 20.2K关注 0票数 21

在运行.net核心2.1AWSLambda函数时,使用以下方法从c#中的AWS控制台获取环境变量很简单:

代码语言:javascript
运行
复制
var envVariable = Environment.GetEnvironmentVariable("myVariableName");

但是,当在AWS上将ASP.NET核心2.1作为无服务器应用程序运行时,这是不起作用的(上面的返回为null)。

我可以在launchSettings.json文件中设置一个本地env变量,但是我想使用AWS控制台中的Env变量。

如何访问ASP.NET Core2.1中的变量?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-05 00:42:14

如何访问ASP.NET Core 2.1中的变量

你以和以前一样的方式访问它。

代码语言:javascript
运行
复制
var envVariable = Environment.GetEnvironmentVariable("myVariableName");

确保为各自的资源设置了环境变量,使其在调用时可用。

每个资源在serverless.template文件中都有一个条目,这是用于部署函数的AWS CloudFormation模板。

环境变量条目在文件中的Resources:{ResourceName}:Properties:Environment:Variables JSON路径下找到。

示例声明

代码语言:javascript
运行
复制
{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Transform" : "AWS::Serverless-2016-10-31",
  "Description" : "An AWS Serverless Application that uses the ASP.NET Core framework running in Amazon Lambda.",
  "Parameters" : {
  },
  "Conditions" : {
  },
  "Resources" : {
    "Get" : {
      "Type" : "AWS::Serverless::Function",
      "Properties": {
        "Handler": "TimeZoneService::TimeZoneService.LambdaEntryPoint::FunctionHandlerAsync",
        "Runtime": "dotnetcore1.0",
        "CodeUri": "",
        "MemorySize": 256,
        "Timeout": 60,
        "Role": null,
        "Policies": [ "AWSLambdaFullAccess" ],
        "Environment" : {
          "Variables" : {
            "myVariableName" : "my environment variable value"
          }
        },
        "Events": {
          "PutResource": {
            "Type": "Api",
            "Properties": {
              "Path": "/{proxy+}",
              "Method": "ANY"
            }
          }
        }
      }
    }
  },
  "Outputs" : {
  }
}

参考用AWS Lambda构建和测试无服务器应用程序

参考使用ASP.NET Core、AWS和API网关创建无服务器应用程序

票数 32
EN

Stack Overflow用户

发布于 2018-08-05 06:14:55

试试这个:

代码语言:javascript
运行
复制
public interface IEnviromentVariables {
    string getEnVariable(string variable);
}

public class EnviromentClass : IEnviromentVariables {
    public string getEnVariable(string variable) {
        return System.Environment.GetEnvironmentVariable(variable);
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51688921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档