If you work with multiple sets of AWS credentials and boto or boto-based tools
like s3cat, you may have noticed
that Boto doesn't use the same configuration as the AWS cli tools. The AWS CLI
tools look at ~/.aws/config
, and boto looks for ~/.aws/credentials
. Also,
the format is slightly different. I'm curious what other people do, but I've
got a little helper script I call mkbotocreds
in my path:
cp ~/.aws/config ~/.aws/credentials
sed -i 's/profile //g' ~/.aws/credentials
This makes ~/.aws/config
the default config, and builds boto credentials
from the sections there. Just run it whenever you add or change credentials
in ~/.aws/config
.
The above should work breezy on Linux. If you're on OS X, though, you're going
to want to get yourself a proper version of sed
:
brew install gnu-sed --default-names
Trust me, you'll thank yourself later for making the change.
I also recommend using the AWS plugin for oh-my-zsh. Apply this mod to make sure your AWS and boto commands use the same profile within your shell session.