Using a few utilities in the past couple of days, I have noticed a few issues with boto either ignoring the AWS variables or not addressing buckets correctly.The error that you would get with different utilities is:
socket.error: [Errno 32] Broken pipe
The error above could come in different formats but would be similar.
The way to solve the issue is to ensure users that need to use anything related to boto, should have a .boto configuration file setup. Below is an example .boto file using buckets in the ap-southeast region:
[Credentials] aws_access_key_id = <your access key id> aws_secret_access_key = <your secret access key> [s3] host=s3-ap-southeast-2.amazonaws.com
To determine the correct host for you, refer to the Amazon AWS Regions and Endpoint documentation.
Once I set this up, things seem to work smoothly. I would have rather let AWS determine the host for S3. However, if you wait a couple of hours for AWS to ‘do it’s thing’ you should need to add it, but if you are in a hurry, you are going to have to define the host in the .boto file.