質問させていただきます。
AWSクラウドストレージサービスのS3を用いて、paperclipでアップロードした画像をheroku上で表示されるようにしたいです。
しかし、production環境下で画像を投稿した時に
Aws::Errors::MissingRegionError (missing region; use :region option or export region name to ENV['AWS_REGION']):
というエラーが出てしまいます。
検索等して修正を続けましたが同じエラーが出続けてしまいます。
ruby
1#/config/environments/production.rb 2 3 config.paperclip_defaults = { 4 storage: :s3, 5 s3_region: ENV['ap-northeast-1'], #s3-ap-northeast-1.amazonaws.comとしても治りませんでした。。 6 s3_credentials: { 7 bucket: ENV['BUCKET_NAME'], 8 access_key_id: ENV['ACCESS_KEY'], 9 secret_access_key: ENV['SECRET_ACCESS_KEY'] 10 } 11}
ruby
1#app/models/projects.rb 2class Project < ActiveRecord::Base 3 4 has_attached_file :image, styles: { medium: "680x300>", thumb: "170x75>" } # peperclip 5 validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/ # paperclip 6end
heroku環境変数も設定しました
AWS_ACCESS_KEY_ID: AKIA*********** AWS_REGION: ap-northeast-1 AWS_SECRET_ACCESS_KEY: WLe******oUT+Vf****Eov2g70D5j8sG DATABASE_URL: postgres://*********:39bc6******ada6d00f0fdb97bf8ff63**********5b3**78f@ec2-**-2**-***-**8.compute-1.amazonaws.com:5432/dk****0p4j LANG: en_US.UTF-8 RACK_ENV: production RAILS_ENV: production RAILS_SERVE_STATIC_FILES: enabled S3_BUCKET_NAME: s3user-****2017 SECRET_KEY_BASE: 968*******************80b9
ログはこのようになっております。
$heroku logs -t Command :: file -b --mime '/tmp/ea703e7aa1efda0064eaa507d9e8ab7e20170104-4-ovwmah.png' 2017-01-04T11:49:07.407837+00:00 app[web.1]: SQL (0.9ms) INSERT INTO "projects" ("name", "content", "price", "image_file_name", "image_content_type", "image_file_size", "image_updated_at", "slug", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id" [["name", "Rails の環境構築 for Mac"], ["content", "Macユーザー向けにrailsの環境構築を解説します"], ["price", 0], ["image_file_name", "hoge.png"], ["image_content_type", "image/png"], ["image_file_size", 3076], ["image_updated_at", "2017-01-04 11:49:07.014036"], ["slug", "rails-for-mac"], ["created_at", "2017-01-04 11:49:07.404238"], ["updated_at", "2017-01-04 11:49:07.404238"]] 2017-01-04T11:49:07.408609+00:00 app[web.1]: [paperclip] saving /projects/images/000/000/008/original/hoge.png 2017-01-04T11:49:07.672213+00:00 heroku[router]: at=info method=POST path="/admin/projects" host=rb-movie-app2016.herokuapp.com request_id=2b9ed094-51e7-4dca-a284-0678f6c24aaf fwd="126.199.133.32" dyno=web.1 connect=1ms service=1083ms status=500 bytes=1754 2017-01-04T11:49:07.701669+00:00 app[web.1]: (1.1ms) ROLLBACK 2017-01-04T11:49:07.702546+00:00 app[web.1]: Completed 500 Internal Server Error in 768ms (ActiveRecord: 13.9ms) 2017-01-04T11:49:07.704579+00:00 app[web.1]: 2017-01-04T11:49:07.704581+00:00 app[web.1]: Aws::Errors::MissingRegionError (missing region; use :region option or export region name to ENV['AWS_REGION']): 2017-01-04T11:49:07.704582+00:00 app[web.1]: vendor/bundle/ruby/2.2.0/gems/aws-sdk-core-2.6.43/lib/aws-sdk-core/plugins/regional_endpoint.rb:34:in `after_initialize' 2017-01-04T11:49:07.704583+00:00 app[web.1]: vendor/bundle/ruby/2.2.0/gems/aws-sdk-core-2.6.43/lib/seahorse/client/base.rb:84:in `block in after_initialize' 2017-01-04T11:49:07.704584+00:00 app[web.1]: vendor/bundle/ruby/2.2.0/gems/aws-sdk-core-2.6.43/lib/seahorse/client/base.rb:83:in `each' 2017-01-04T11:49:07.704584+00:00 app[web.1]: vendor/bundle/ruby/2.2.0/gems/aws-sdk-core-2.6.43/lib/seahorse/client/base.rb:83:in `after_initialize' 2017-01-04T11:49:07.704585+00:00 app[web.1]: vendor/bundle/ruby/2.2.0/gems/aws-sdk-core-2.6.43/lib/seahorse/client/base.rb:21:in `initialize' 2017-01-04T11:49:07.704586+00:00 app[web.1]: vendor/bundle/ruby/2.2.0/gems/aws-sdk-core-2.6.43/lib/seahorse/client/base.rb:105:in `new'
大変恐縮ですが、少しでも参考になるようなことがあれば教えてくださると嬉しく思います。自分でももう少し考えて見ます。
参考にしたサイト
*herokuドキュメント
https://devcenter.heroku.com/articles/paperclip-s3
*Stack
http://stackoverflow.com/questions/32224995/rails4-1-aws-errors-missing-region
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。