I am periodically uploading a file to AWS Glacier using boto as follows:
# Import boto's layer2
import boto.glacier.layer2
# Create a Layer2 object to connect to Glacier
l = boto.glacier.layer2.Layer2(aws_access_key_id=awsAccess, aws_secret_access_key=awsSecret)
# Get a vault based on vault name (assuming you created it already)
v = l.get_vault(vaultName)
# Create an archive from a local file on the vault
archiveID = v.create_archive_from_file(fileName)
However this fails for files that are larger than 4 GB in size.
I'm assuming that this is because as specified in the Amazon Glacier FAQ: "The largest archive that can be uploaded in a single Upload request is 4 gigabytes. For items larger than 100 megabytes, customers should consider using the Multipart upload capability."
How do I use the Multipart upload capability with boto and AWS Glacier?
Amazon Glacier uses the term archive to describe files. In other words, you cannot upload a file larger than 4GB to Glacier. If you'd like to try the multipart uploader anyway, look at vault.concurrent_create_archive_from_file or vault.create_archive_writer