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.
2
Answers
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.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:
Now you got your env variables updated.