2016-10-16 3 views
0

サーバレスフレームワークでenv変数に関するベストプラクティスは何ですか?サーバレスフレームワークv1.0.0 GA - Pythonハンドラ内の環境変数

アイブ氏は、Pythonのdotenv環境にいくつかの議論を聞いたが、Imはあまりにので、このの設定と使用に関する指針を探しているのpythonで経験していない(例は良いでしょう!)

を例えば、私が持っていたいです私のサーバーレスハンドラ関数内のdb_arnの環境変数。

db_arn = "ec2-xx-xx-xx-xxx.eu-west-1.compute.amazonaws.com"

DEF getCustomer(): db_arnようdb_arn

IDを使用して#CONNECTハードコードされた文字列ではなく、環境変数(dev、test、prodなど)になります。

これはどのようにしてdotenvで行うことができ、これを有効にするためにサーバーレスサービスをどのように構成しますか?

おかげさまで大歓迎です!

答えて

0

あなたはこのように、serverless.ymlで環境変数を定義するserverless-plugin-write-env-varsプラグインを使用することができます。

service: my-service 

custom: 
    writeEnvVars: 
     DB_ARN: "ec2-xx-xx-xx-xxx.eu-west-1.compute.amazonaws.com" 

plugins: 
    - serverless-plugin-write-env-vars 

は、変数がcustom:writeEnvVars:の下で定義する必要があります注意してください。

プラグインは、AWS Lambdaへのコード配布時に.envファイルを作成します。あなたはhttps://stackoverflow.com/a/39791686/1111215

+0

を見て、外部依存関係を展開してロードするとヘルプが必要な場合は、念のために

import os.path from dotenv import load_dotenv dotenv_path = os.path.join(os.path.dirname(__file__), '.env') load_dotenv(dotenv_path) db_arn = os.environ.get('DB_ARN') 

:あなたは.envファイルをロードすることで、環境変数を読み取ることができるpython-dotenvを使用してコードで

、ありがとう!これを行かせるだろう。 :) –