2016-05-15 22 views
1

私は、開発、テスト、制作のための別名とそれぞれのエイリアスバージョンを指し示すいくつかの段階を持つAPIゲートウェイを持つAmazon Lambda機能をセットアップしました。Amazon Lambda - エイリアス固有の設定

今私はデータベーステーブルにアクセスしたいと思います。明らかに、各エイリアスはそれ自身のテーブルにアクセスする必要があります。ドキュメントでは、エイリアス固有の設定を自分の関数に渡すことができませんでした。これにはベストプラクティスがありますか?

答えて

1

APIゲートウェイでStage Variablesをセットアップし、マッピングテンプレートに次のようなものを追加して、これらのステージ変数をラムダ関数に渡します。

"stage-variables" : { 
    #foreach($key in $stageVariables.keySet()) 
     "$key" : "$util.escapeJavaScript($stageVariables.get($key))" 
     #if($foreach.hasNext),#end 
    #end 
    } 

ラムダ関数は、DBテーブル名のようなものをイベントオブジェクトから取得できます。

+0

これは、APIゲートウェイ経由で公開されている機能に適しているようです。 S3やSNSによって引き起こされる機能にも同様のベストプラクティスがありますか? – Matthias

+0

残念ながら、それらはより困難です。 DynamoDBテーブルを使用して、異なる関数エイリアス固有の設定を格納することができます。次に、 'context'オブジェクトをチェックして' functionVersion'値を取得し、DynamoDBから設定を参照することができます。 –

+0

'process.env.AWS_LAMBDA_FUNCTION_VERSION'からエイリアスを得ることができるようです。 –

関連する問題