【发布时间】:2018-12-16 12:50:57
【问题描述】:
使用以下 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::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)
}
我已经排除的事情:
- webpack react process.env always empty (windows 10) - 我没有 DefinePlugin 配置。我也在用 mac。
【问题讨论】:
-
我使用 AWS SAM CLI 使用上面的代码和模板获得了环境变量的预期输出。你确定它可以用那个代码重现吗?也许这与您如何打包和部署代码有关?对于使用 Webpack (stackoverflow.com/questions/43786682/…) 的人来说,至少还有一个类似问题的问题。
-
感谢您查看该设置是否适合您!我将进一步研究我如何打包/部署代码是问题。
-
感谢@Dunedan stackoverflow.com/questions/43786682/… 得到了我的答复。我将 {target: node} 添加到我的 webpack 配置中,现在我看到了在 AWS-SAM 模板中定义的环境变量。
标签: aws-lambda environment-variables aws-sam-cli