2016-03-29 16 views
5

私はデータベースに接続するPythonアプリケーションを持っています。ローカルenv(テスト用)やラムダ関数(プロダクション用)で実行されているときは、db資格情報が異なるようにしたいと思います。PythonアプリケーションがAWSラムダ関数内で実行されているかどうかを確認するにはどうすればいいですか?

Pythonアプリケーションから、ラムダ関数の中で実行されていることを検出する方法はありますか?

答えて

1

は、ユニットテストのために私は構造を使用:

+ my_function/ 
+- __init__.py - empty files 
+- code/ 
    +- __init__.py 
    +- lambda_function.py 
+- unittest/ 
    +- __init__.py 
    +- tests.py - from ..code.lambda_function import * 

lambda_function.pyに、python -m my_function.unittest.testsと__name__ == 'my_function.code.lambda_function' をユニットテストを実行しています。

実行中のラムダでは、__name__ == 'lambda_function'です。 python -m my_function.code.lambda_functionで実行すると同じ値が得られるので、常にラッパーが必要です。

-1

this bugのため、AWSラムダファンクション内で実行しているかどうかを確認することができます。

これを使用して、コンテキストに合ったメトリックレポートを正常に実装しました。 すぐにバグを修正しないことを願っています!

関連する問題