首页 > 解决方案 > AWS Sam 本地环境变量在 process.env 中不可用

问题描述

使用以下 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)
}

我已经排除的事情:

标签: aws-lambdaenvironment-variablesaws-sam-cli

解决方案


我应该测试我发布的代码......

处理程序在设置为时工作

exports.handler = (event, context, callback) => {
  // logs {}
  console.log(process.env)
}

我的代码的修复是将以下内容添加到我的 webpack 配置中。

{
  ...
  target: 'node'
}

推荐阅读