Pet*_*eld 12 c# amazon-web-services .net-core aws-lambda asp.net-core
运行.net核心2.1 AWS Lambda函数时,使用以下命令从c#中的AWS Lambda控制台获取环境变量很简单:
var envVariable = Environment.GetEnvironmentVariable("myVariableName");
Run Code Online (Sandbox Code Playgroud)
但是,在AWS Lambda上运行ASP.NET核心2.1作为无服务器应用程序时,这不起作用(上面返回null).
我可以在launchSettings.json文件中设置本地 env变量,但我想使用AWS Lambda控制台中的Env变量.
如何在ASP.NET Core 2.1中访问AWS Lambda Env变量?
Nko*_*osi 22
如何在ASP.NET Core 2.1中访问AWS Lambda Env变量
您可以像以前一样访问它.
var envVariable = Environment.GetEnvironmentVariable("myVariableName");
Run Code Online (Sandbox Code Playgroud)
确保为相应资源设置环境变量,以便在调用时可用.
每个资源在serverless.template文件中都有一个条目,该文件是用于部署函数的AWS CloudFormation模板.
环境变量条目Resources:{ResourceName}:Properties:Environment:Variables位于文件中的JSON路径下.
示例声明
{
"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" : {
}
}
Run Code Online (Sandbox Code Playgroud)
参考使用ASP.NET Core,AWS Lambda和AWS API Gateway创建无服务器应用程序
| 归档时间: |
|
| 查看次数: |
8281 次 |
| 最近记录: |