たろ
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つのキーで複数の値を持たせることができ安心。
これでプロジェクトを続行できそうです。