スポンサーリンク

【Lambda】JSONフォーマットの環境変数を利用する方法

インフラ
たろ
たろ

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つのキーで複数の値を持たせることができ安心。

これでプロジェクトを続行できそうです。

コメント

タイトルとURLをコピーしました