12

S3 で boto を使用して、Django サイトの静的ファイルを保存しています。コマンドを使用するcollectstaticと、ファイルで停止してスローする前に、ファイルのかなりの部分が完全に"Error 32: Broken Pipe."アップロードされます コマンドを再度実行しようとすると、既にアップロードされたファイルをスキップし、中断したファイルから開始します新しいものをアップロードせずに同じエラーをスローします。

4

4 に答える 4

10

重要なのは、バケットが配置されているAWS エンドポイントを指定することのようです。さまざまな方法でこれを実行しようとしましたが、最終的にうまくいった解決策は、ドキュメントで指定されているように boto の構成ファイルを作成することでした。

で作成した構成ファイルの内容は次の~/.botoとおりです。

[Credentials]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[s3]
host=s3-us-west-2.amazonaws.com
于 2015-04-10T02:16:40.553 に答える
3

BenWurthの答えは問題ありませんが、あなたが私のようで構成ファイルを追加したくない場合は、代わりにdjango-storagesのより適切に管理された従兄弟「django-storages-redux」を使用して、設定に追加の環境変数を追加するだけです。パイ

pip uninstall django-storages (if you have this installed)
pip install django-storages-redux

そしてsettings.pyで

AWS_S3_HOST = 'YOUR-AWS-ENDPOINT' #in my case 's3-us-west-2.amazonaws.com'

その後、すべてがうまくいくはずです。

于 2015-09-29T21:06:32.130 に答える