0

Carrierwave で Amazon S3 を使用しようとしています。S3を使うのはこれが初めてなので、ほとんどの場合何をしているのかわかりません。Fog で Carrierwave を使用し、ActiveAdmin を介してファイル (画像のみ) をアップロードしていますが、何かをアップロードしようとすると「壊れたパイプ」エラーが発生します。

これは、エラーの完全なトレースです。

初期化子でこの構成を使用して Carrierwave をセットアップしました。

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider                         => 'AWS',
    :aws_access_key_id                => 'myid',
    :aws_secret_access_key            => 'mysecretkey',
  }
  config.fog_directory = 'bucketname'
  config.s3_region = 'EU'
end

そして、アップローダークラスでこれを変更しました:

#storage :file
storage :fog

Rails 3.1を使用しています

誰が何が悪いのか手がかりを教えてもらえますか? Carrierwave と Fog の未解決の問題を検索しましたが、何も見つかりません。

重要な編集:非常に小さな画像をアップロードしようとしたところ、うまくいきましたが、何らかの理由で 100 KB を超えると「壊れたパイプ」エラーが発生します。

4

2 に答える 2

0

私の場合、「壊れたパイプ」は RequestTimeTooSkewed エラーが原因でした。AWS サイトで説明されています: http://www.bucketexplorer.com/documentation/amazon-s3--difference-between-requesttime-currenttime-too-large.html

したがって、デフォルトの S3 バケットの場所は us-east-1 であり、私は西部にいるため、バケットの「リージョン」をオレゴンまたは us-west に変更する必要がありましたが、うまくいきました!

于 2013-01-14T07:57:30.683 に答える
0

s3_region は である必要があります'eu-west-1'

于 2012-03-14T16:31:14.940 に答える