2016-08-04 21 views
2

最近、AWS Elastic Beanstalkにdjango Webアプリケーションをデプロイしようとしていて、すべてがうまくいっています。しかし、私のアプリの一部はTwitter APIを使用しているので、APIキーをインポートする必要があります。私の理解は、私は構成>ソフトウェア構成>環境の​​プロパティを使用する必要があります。これを私の鍵を入力するように設定しましたが、サイトをチェックしてもそれは失敗しました。PythonのAWS Elastic Beanstalk環境変数

私は変数をインポートしようとしていますこれは正しいですか?

import os 

os.enviorn.get('TWITTER_ACCESS_TOKEN') 

私は変数は、サーバにそれを作っていたと私はeb printenvを実行したとき、私はこれを示されたかどうかがチェック:

Environment Variables: 
    TWITTER_ACCESS_TOKEN = XXXXX 
    TWITTER_ACCESS_SECRET = XXXX 
    TWITTER_CONSUMER_SECRET = XXXX 
    TWITTER_CONSUMER_KEY = XXXXX 

任意の助けいただければ幸いです。

答えて

0

取得しようとしているキーが環境変数に存在しません。コードを- os.environ.get('TWITTER_ACCESS_TOKEN')に変更するか、またはenv環境の中の他のキーを使用すると、このトリックを行う必要があります。

+0

私は正しい変数名を使用していました。私は将来の混乱を避けるために質問でそれを変更しました。 –

+0

サーバーにsshingを試して、env varに希望の値が含まれているかどうか確認しましたか? 'echo $ TWITTER_ACCESS_TOKEN'を使って、例えば? 'eb ssh MY_ENVIRONMENT'の –

+0

私はprintenvを実行してTwitter APIキーを見ることができず、 'echo $ TWITTER_ACCESS_TOKEN'は機能しませんでした。私がチェックしなければならないEC2の特定の場所はありますか? –

2

AWS Elastic Beanstalk Properties(OS環境変数ではない)からシステム環境を取得するためには、環境に「ソース」する必要があります。 Pythonの場合、EB Propertiesは/ opt/python/current/envファイルに格納されます。したがって、次のコマンドを実行してください:

source /opt/python/current/env 

これで、env変数が更新されました。

関連する問題