[SAM Local] FAQ

--env-vars or -nで指定した環境変数が有効にならない

コマンド

$ sam local start-api --env-vars env.json

関数名はあっているか?

テンプレートでLambda関数名が以下のようになっているとき

Resources:
  HelloWorldFunction:

その名前がenv.jsonでそのまま使われているかを確認してください。

{
  "HelloWorldFunction": {
    "VAR_NAME": "hoge"
  }
}

template.yamlで該当の変数名は定義されているか?

以下のようにenv.jsonで指定した変数が定義されているかを確認してください。
もしVAR_NAMEが定義されていなければ、env.jsonの値は有効になりません。

Resources:
  HelloWorldFunction:
    Properties:
      Environment:
        Variables:
          VAR_NAME: dummy