2014-12-09 11 views
9

Sto cercando di caricare i file statici alla mia S3 secchio con collectstatic ma sto ottenendo un errore di tubo rotto con un file JavaScript 700k, questo è l'erroreDjango collecstatic boto tubo rotto su file di grandi dimensioni caricare

Copying '/Users/wedonia/work/asociados/server/asociados/apps/panel/static/panel/js/js.min.js' 
    Traceback (most recent call last): 
     File "manage.py", line 10, in <module> 
     execute_from_command_line(sys.argv) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line 
     utility.execute() 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute 
     self.fetch_command(subcommand).run_from_argv(self.argv) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv 
     self.execute(*args, **options.__dict__) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute 
     output = self.handle(*args, **options) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/django/core/management/base.py", line 415, in handle 
     return self.handle_noargs(**options) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 173, in handle_noargs 
     collected = self.collect() 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 112, in collect 
     handler(path, prefixed_path, storage) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 317, in copy_file 
     self.storage.save(prefixed_path, source_file) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/django/core/files/storage.py", line 49, in save 
     name = self._save(name, content) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/storages/backends/s3boto.py", line 392, in _save 
     self._save_content(key, content, headers=headers) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/storages/backends/s3boto.py", line 403, in _save_content 
     rewind=True, **kwargs) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/boto/s3/key.py", line 1291, in set_contents_from_file 
     chunked_transfer=chunked_transfer, size=size) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/boto/s3/key.py", line 748, in send_file 
     chunked_transfer=chunked_transfer, size=size) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/boto/s3/key.py", line 949, in _send_file_internal 
     query_args=query_args 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/boto/s3/connection.py", line 664, in make_request 
     retry_handler=retry_handler 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/boto/connection.py", line 1068, in make_request 
     retry_handler=retry_handler) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/boto/connection.py", line 939, in _mexe 
     request.body, request.headers) 
     File "/Users/wedonia/work/asociados/server/envs/asociados/lib/python2.7/site-packages/boto/s3/key.py", line 842, in sender 
     http_conn.send(chunk) 
     File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 805, in send 
     self.sock.sendall(data) 
     File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 229, in sendall 
     v = self.send(data[count:]) 
     File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 198, in send 
     v = self._sslobj.write(data) 
    socket.error: [Errno 32] Broken pipe 

mie impostazioni sono i seguenti

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' 
STATICFILES_STORAGE = 's3utils.StaticRootS3BotoStorage' 
AWS_S3_ACCESS_KEY_ID = '' 
AWS_S3_SECRET_ACCESS_KEY = '' 
AWS_STORAGE_BUCKET_NAME = 'asociados.static' 

ho provato cambiare la connessione a internet e ottenere lo stesso risultato

ho provato con un file di 200k ed ha ottenuto lo stesso risultato

Qualcuno ha lo stesso problema?

risposta

16

Impostare AWS_S3_HOST in settings.py nella regione corretta, ad es. s3-eu-west-1.amazonaws.com.

AWS_S3_HOST = "s3-eu-west-1.amazonaws.com"

vedere le ultime Amazon list per riferimento completo.

Questo gist è anche utile.

+1

Grazie, mi ha davvero aiutato :) – Prometheus

+1

è stato! Grazie! –

+1

Affascinante! Questo non è documentato in 'django-storages'. 'Django-storages' sta leggendo questa variabile di configurazione? Devo presentare un problema con 'django-strorages'? – Flimm