- SAM CLI利用時に定義した環境変数を読み込む方法をメモする
準備
-
env.json
- 環境変数ファイル
-
template.yaml
に合わせてGlobals
とResources
はセクションを分けて記述する
{ "Parameters": { "MYSQL_HOST":"db", "MYSQL_DATABASE":"test_db", "MYSQL_PORT":3308, "MYSQL_USER":"mysqluser", "MYSQL_PASSWORD":"mysqlpass" }, "HelloWorldFunction":{ "MYSQL_TABLE":"test_table" } }
-
template.yaml
-
Environment
セクションにenv.json
に対応する変数名を定義する
Globals: Function: Timeout: 3 Environment: Variables: MYSQL_HOST: MYSQL_HOST MYSQL_DATABASE: MYSQL_DATABASE MYSQL_PORT: MYSQL_PORT MYSQL_USER: MYSQL_USER MYSQL_PASSWORD: MYSQL_PASSWORD ... Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: hello_world/ Handler: app.lambda_handler Runtime: python3.9 Architectures: - x86_64 Events: HelloWorld: Type: Api Properties: Path: /hello Method: get Environment: variables: MYSQL_TABLE: MYSQL_TABLE
-
環境変数読み込み(実行)
-
下記のコマンドを実行する
sam local start-api --env-vars env.json
※
--env-vars {環境変数ファイル}
で指定する