Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Django's collectstatic with boto S3 throws "Error 32: Broken Pipe" after a while

I'm using boto with S3 to store my Django site's static files. When using the collectstatic command, it uploads a good chunk of the files perfectly before stopping at a file and throwing "Error 32: Broken Pipe." When I try to run the command again, it skips over the files it has already uploaded and starts at the file where it left off, before throwing the same error without having uploaded anything new.

like image 464
BenWurth Avatar asked Apr 10 '15 02:04

BenWurth


1 Answers

The key seems to be to specify which AWS Endpoint your bucket is located in. I tried doing this a bunch of different ways, but the solution that finally worked for me was to create a config file for boto as specified in the documentation.

Here are the contents of the config file I created at ~/.boto:

[Credentials]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[s3]
host=s3-us-west-2.amazonaws.com
like image 53
BenWurth Avatar answered Oct 16 '22 16:10

BenWurth