Some platforms and environments don't have pip handy, or you might not have root access, or you can't install new software for any number of reasons, or the required libraries are not installed. curl and /bin/sh and openssl are more universal, so it's good to be able to do what you need to do without resorting to installing software.
I don't think the author intended this script to solve everyone's problems. It's an interesting exercise and can be useful in some situations. If it's not useful for your needs, then as has been pointed out there are many many other options.
Even if the script itself is not "practical", it's very informative. It makes it quite simple to translate into another language for the times when you don't want to shell out to another process.
I found this script a couple weeks ago and was very useful for the minimal docker image I was creating. In some cases you have certain constraints when accessing s3 and this script is helpful in those cases.
Here's a couple I made as well for upload/download to S3 before Travis CI had Docker containers with support for caching in OSS projects: https://github.com/tabolario/ci-scripts
These use the V4 signature, which I grabbed from an article somewhere on the subject that I can't seem to find anymore :( The cached-bundle script is inspired and based off the one from devise: https://github.com/plataformatec/devise/blob/master/script/c...
Yeah, thanks for linking to this: the reason I didn't use it was mostly because it was longer than 18 lines :) Nice not to have to track and maintain a version of other people's code when you don't have to.
22 comments
[ 3.6 ms ] story [ 60.0 ms ] threadPeople have crawled github for these in the past and turned up some pretty "interesting" results...
OK curl is installed by default but if you have to install this script anyway, it's only a `pip install` away...
The right way is the most simple way for your use case. For files under 5GB, this is one of the right ways.
These use the V4 signature, which I grabbed from an article somewhere on the subject that I can't seem to find anymore :( The cached-bundle script is inspired and based off the one from devise: https://github.com/plataformatec/devise/blob/master/script/c...
Documentation:
https://bashmenot.mietek.io/reference
Source:
https://github.com/mietek/bashmenot
https://code.google.com/p/s3-bash/