Python中的AWS Elastic Beanstalk环境变量

时间:2016-08-04 13:21:13

标签: python django amazon-web-services

最近,我一直在尝试将django webapp部署到AWS Elastic Beanstalk,一切都很顺利。但是,我的应用程序的一部分使用Twitter API,因此我需要导入我的API密钥。我的理解是我应该使用Configuration>软件配置>环境属性。我把它设置为输入我的密钥但是当我检查网站时它仍然失败。

我一直在用这个来尝试导入变量是否正确?

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

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:6)

为了从AWS Elastic Beanstalk属性(不是OS环境变量)获取系统环境,您需要将其“源”到您的环境中。对于Python,EB Properties存储在/ opt / python / current / env文件中。所以只需运行此命令:

source /opt/python/current/env

现在你已经更新了你的env变量。

答案 1 :(得分:0)

您尝试获取的密钥在您的环境变量中不存在。将代码更改为 - os.environ.get('TWITTER_ACCESS_TOKEN')或你的env vars中的任何其他密钥应该可以解决问题。