Boto3 – AWS SDK for Python
aws.amazon.com
aws.amazon.com
Beyond that you're probably thinking about black-swan scenarios like AWS going out of business or a hacker breaching your system and deleting everything [1]. In that case you need to be completely separated from AWS (and careful about maintaining the separation) so also using Glacier won't help anyway.
[1] This happened, and put Code Spaces out of business: http://arstechnica.com/security/2014/06/aws-console-breach-l...
100% this. A little OT, but my standard Postgres backup procedure is streaming via WAL-E to S3. The user WAL-E runs as cannot delete versions. Any attempt to overwrite base backups or WAL parts versions them. I have the versions expire after a couple of months (to reduce storage costs). I do the same for selected logs in /var/log/ via duply.
I you want that for every object in the bucket (or specific files with a prefix), you are be able achieve that by adding a lifecycle rule:
1 Select the bucket 2 Add a new lifecycle rule 3 Action = Archive only 4 Archive to the Glacier Storage Class 0 after the object's creation date. (Enter '0' for same-day archival) 5 Save rule
You can automate that using aws cli
It seems there is some confusion here about what is boto, what is boto3 and what state the boto project is in.
Rant over, this release looks cool, love the .all() chaining.
[1]: http://boto3.readthedocs.org/en/latest/reference/services/im...