1

私は、refinerycms を使用してクラウドにイメージを保存するための Amazon S3 サポートをセットアップしようとしています。

https://console.aws.amazon.com/s3/でバケットを作成しました

アプリ「bee-barcelona」のように名前を付けましたが、US Standard 地域にあると書かれています

すべてのデータを入力しまし~/config/initializers/refinery/images.rbた (ここで、'xxx? は入力した実際のキーを表します:

# Configure S3 (you can also use ENV for this)
# The s3_backend setting by default defers to the core setting for this but can be set just for images.
config.s3_backend = Refinery::Core.s3_backend
config.s3_bucket_name = ENV['bee-barcelona']
config.s3_access_key_id = ENV['xxx']
config.s3_secret_access_key = ENV['xxx']
config.s3_region = ENV['xxx']

次に、変更をherokuに適用しました:

heroku config:add S3_KEY=xxx S3_SECRET=xxx S3_BUCKET=bee-barcelona S3_REGION=us-standard

それでも、アプリでアップロードしようとすると、「申し訳ありませんが、問題が発生しました」というメッセージしか表示されません。

私は何を取りこぼしたか?

4

2 に答える 2

1

なんて悲しいエラーでしょう。10 km のランニングに行くまで、そのオプションについて考えたことはありませんでした…</p>

アプリを「養蜂」に設定しました Amazon の私のバケツは「bee-barcelona」という名前でした

アプリに正しいバケットを登録しました。それでも製油所は、「養蜂」という名前の別のバケツに行き続けようとしました。私の秘密鍵では、私のファイルがそこにたどり着くことはありませんでした。

新しいアプリと新しいバケットを作成しましたが、すべてクレイジーな名前でした。それらは AmazonS3 と GIT で同じです!!!

いいえ、それは魅力のように機能します。

なんて珍しい状況なんだろう…

于 2013-11-07T20:48:49.230 に答える
0

私が行った方法は次のとおりです。

  • US-STANDARD リージョンにバケットを作成します!!!!!!!!!!
  • あれ見た?US-STANDARD、オレゴンでも、他のどこでもありません。

  • Gemfile に gem を追加する

    gem "fog"
    gem "unf"
    gem "dragonfly-s3_data_store"
    
  • config/application.rb 内

    config.assets.initialize_on_precompile = true
    
  • config/environments/production.rb 内

    Refinery::Core.config.s3_backend = true
    
  • config/environments/development.rb 内

    Refinery::Core.config.s3_backend = false
    
  • heroku (本番) 用に S3 を構成し、開発用にローカル ストレージを構成します。config/initializers/refinery/core.rb 内

    if Rails.env.production?
      config.s3_backend = true
    else
      config.s3_backend = false
    end
    config.s3_bucket_name = ENV['S3_BUCKET']
    config.s3_region = ENV['S3_REGION']
    config.s3_access_key_id = ENV['S3_ACCESS_KEY']
    config.s3_secret_access_key = ENV['S3_SECRET_KEY']
    
  • heroku に変数を追加します。

    heroku config:add S3_ACCESS_KEY=xxxxxx S3_SECRET_KEY=xxxxxx S3_BUCKET=bucket-name-here S3_REGION=us-east-1
    

S3_REGION=us-standard の前にあったので、多くの問題がありました。これは間違っています。次のように US-Standard バケットを設定します。

S3_REGION=us-east-1

これは、Rails 4.2.1 とリファイナリー 3.0.0 で問題なく動作しました。また、変数にまったく同じ名前を使用していることを確認してください。S3_ACCESS_KEY の代わりに S3_KEY、または S3_SECRET_KEY の代わりに S3_SECRET と表示されることがあります。ファイルと Heroku 変数に同じものがあることを確認してください。

于 2015-05-15T14:50:27.997 に答える