alias を使えばそれっぽいことができます。
準備
- publish パラメータを付けてバージョニングを有効にする
- development, production などの環境名の alias を作成する
ディレクトリ構造
├── config
│ ├── development.json
│ └── production.json
└── index.js
ハンドラ
function loadConfig(context) {
var env = 'development';
if (!!context.invokedFunctionArn) {
env = context.invokedFunctionArn.split(':').pop();
}
return require('./config/' + env + '.json');
}
exports.handler = function(event, context) {
var config = loadConfig(context);
context.succeed(config);
};
invokedFunctionArn の末尾に alias が含まれるのでそれを使って設定ファイルをロードする。
alias ごとの環境変数設定オフィシャルで欲しいですね。
追記
標準で環境変数がサポートされたけど alias ごとには設定できないので alias でバージョンを切り替えるなどする場合にはまだ必要ですね…