公式の表記
AWS Lambda 環境変数の使用
すべての環境変数の合計サイズは 4 KB を超えない。
1つの環境変数の場合
- キーは最低2文字なので2文字にした
- 値4087文字OK、4088文字NG
- 値4087文字のまま、キーを2文字 → 3文字にする → NG
- どうやらキーと値の文字数の合計による制限のようだ(合計で半角4089文字まで)
- ちなみにキーは2文字以上ですが、何文字まで使えるか知ってますか?
- キー4088文字、値1文字はOK!
- キー4089文字、値1文字はやはりNG
- 値って全角文字使えるの?
- 使えます
- 値って空欄にできるの?
- できます(YES)
- 値が空欄ならキーは4089文字まで行ける?
- 行けます(YES)
- キーに使えるのは「文字で始まり、文字、数字、アンダースコアが続く」文字列のみ
- キーは全角文字はNGです
- 日本語は何文字分?
- 「あ」で試したところ、半角文字3文字分のようだ
環境変数が2つの場合
- 上記「環境変数1つの場合」に、キー2文字と値1文字の環境変数を追加し、1つ目の環境変数のキーを3文字削ったが4KB制限に引っかかった
- さらに6文字削ったらOKになった
- 3つ目を追加したときも、合計9文字削ったらキー2文字と値1文字の環境変数の追加が出来た
結論
- AWS Lambdaの環境変数の4KB制限は、4KiB制限(4000バイト)ではなく4KB制限(4096バイト)のようだ
- 環境変数1つにつき6バイトを消費するようだ(最初の1つは7バイト?)