Aws lambda AWS Sam本地环境变量在process.env中不可用
对于以下AWS SAM模板,process.env是空对象。我希望它包含定义为dbURL的模板中的环境变量Aws lambda AWS Sam本地环境变量在process.env中不可用,aws-lambda,environment-variables,aws-sam-cli,Aws Lambda,Environment Variables,Aws Sam Cli,对于以下AWS SAM模板,process.env是空对象。我希望它包含定义为dbURL的模板中的环境变量 AWSTemplateFormatVersion: "2010-09-09" Transform: "AWS::Serverless-2016-10-31" Description: "An example RESTful service" Resources: ExampleFunction: Type: "AWS::Serverless::Functio
AWSTemplateFormatVersion: "2010-09-09"
Transform: "AWS::Serverless-2016-10-31"
Description: "An example RESTful service"
Resources:
ExampleFunction:
Type: "AWS::Serverless::Function"
Properties:
Runtime: "nodejs6.10"
Handler: "/dist/getTickets/index.handler"
Events:
RootDeveloperHub:
Type: "Api"
Properties:
Path: "/new"
Method: "any"
Environment:
Variables:
dbURL: "dbURL_Value"
处理者
exports.handler = (event, context, callback) => {
// logs {}
console.log(process.env)
}
我已经排除的事情:
- -我没有明确的插件配置。我也在用mac
exports.handler = (event, context, callback) => {
// logs {}
console.log(process.env)
}
我的代码修复程序是将以下内容添加到我的网页配置中
{
...
target: 'node'
}
我使用AWS SAM CLI通过上面的代码和模板获得环境变量的预期输出。你确定这个代码可以复制吗?也许这与您如何打包和部署代码有关?对于使用Webpack()的用户,至少还有一个类似问题。感谢您查看该设置是否适用于您!我将进一步探讨如何打包/部署代码是否是问题所在。感谢@Dunedan提供了我的答案。我将{target:node}添加到我的网页包配置中,现在我看到了AWS-SAM模板中定义的环境变量。