简体   繁体   中英

AWS Elastic Beanstalk Environment Variables in Python

Recently I have been trying to deploy a django webapp to AWS Elastic Beanstalk and everything has been going fine. However part of my app uses that Twitter API so I need to import my API keys. My understanding is that I should use Configuration > Software Configurations > Environment Properties. I set this up inputting my keys but when I checked the site it still failed.

I have been using this to try and import the variables is that correct?

import os

os.enviorn.get('TWITTER_ACCESS_TOKEN')

I checked to see if the variables were making it to the server and when I ran eb printenv I was shown this:

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

Any help would be greatly appreciated.

In order to get system environment from AWS Elastic Beanstalk Properties (which is not OS environment variables) you need to "source" it to your environment. In case of Python, EB Properties are stored at /opt/python/current/env file. So simply run this command:

source /opt/python/current/env

Now you got your env variables updated.

The key you are trying to get doesn't exist among your environment variables. Changing the code to - os.environ.get('TWITTER_ACCESS_TOKEN') or any other key among your env vars should do the trick.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM