Serverless Framework ~ 環境変数の利用

Lambdaで環境変数を設定する場合、以下のようにAWSのLambda Management Console で設定することもできますが、手元のターミナルだけで設定可能です。

AWSのLambda Management Console での環境変数の設定

serverless.yml

以下には、hello-env-pitang と hello-env-wife という2つの関数を含んでいますが、NICKNAME: ピータンを設定している environment で、全体の環境変数の設定をおこなっていて、hello-env-wife の environment での設定で、その関数に対してだけ環境変数を上書きしています。

service: nodejs-environment-variables

provider:
  name: aws
  runtime: nodejs12.x
  region: ap-northeast-1
  profile: serverless-admin

# you can define service wide environment variables here
  environment:
    variable1: value1
    variable2: value2
    NICKNAME: ピータン

functions:
  hello-env-pitang:
    handler: handler.hello
  hello-env-wife:
    handler: handler.hello
    environment:
      NICKNAME: ともら

handler.js

関数からの環境変数の利用については、各種言語のやり方についてこちらで説明されています。

Node.jsの場合は、次で利用できます。

'use strict';

module.exports.hello = async (event) => {
  return process.env.NICKNAME;
};