
たろ
AWS Lambdaの環境変数にJSON形式のデータを使いたいけどできるの?
こんな疑問にお答えします。
本記事の内容
- Lambdaの環境変数をプログラムに取り込む
 - 環境変数にJSON形式の値を使ってみた
 - コード例
 
結論:JSON形式の値を環境変数に入れることはできます!
例えば以下のように環境変数に値を入れます。

{"apple":"りんご","peach":"桃","orange":"オレンジ"}
↓後日談
調べてみるとBase64に変換するやり方がトップで紹介されていました。
簡単なJSONを設定してみたのですが、見事エラーが出ました。
【Tips】AWS Lambdaの環境変数にJSONを設定したい!
この記事が執筆された当時はエラーが出ていたようですが私がカンマを含むJSON形式の値をLambdaの環境変数に登録したときはエラーがでませんでした。
LambdaでJSONの形式の値を取り出す
具体的なコードは以下の通りです(JSONの値を取り出す検証用のため適当実装)。
今回は Node.js で実行しています。
exports.handler = async (event) => {
    var fruits = process.env['FRUITS']
    var fruits = JSON.parse(fruits)
    
    console.log(fruits['apple']);
    console.log(fruits['peach']);
    console.log(fruits['orange']);
    
    return fruits;
};
JSON.parse を利用する点がポイントです!
実行してみると・・・
ログ↓
INFO	りんご
INFO	桃
INFO	オレンジ
それぞれの果物の名前を取得できました。
レスポンス↓
{
  "apple": "りんご",
  "peach": "桃",
  "orange": "オレンジ"
}
おわりに
1つのキーで複数の値を持たせることができ安心。
これでプロジェクトを続行できそうです。


