質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

7258閲覧

AWSのS3を使いたいが、missing regionエラーが治りません...

big2017

総合スコア39

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2017/01/04 12:14

編集2017/01/04 12:17

質問させていただきます。

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

解決できました!!!

ruby

1#/config/environments/production.rb 2 3 config.paperclip_defaults = { 4 :storage => :s3, 5 :bucket => ENV['S3_BUCKET_NAME'], 6 :s3_region => ENV['AWS_REGION'], 7 :s3_host_name => 's3-ap-northeast-1.amazonaws.com', 8 :s3_credentials => { 9 access_key_id: ENV['AWS_ACCESS_KEY_ID'], 10 secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'] 11 } 12}

ruby

1#models/project.rb 2 has_attached_file :image, 3 :path => ":attachment/:id/:style.:extension", 4 styles: { medium: "680x300>", thumb: "170x75>" }, 5 default_url: "/images/:style/missing.png" # peperclip 6 7 validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/ # paperclip 8

ruby

1 2#config/initializers/paperclip.rb 3 4Paperclip::Attachment.default_options[:url] = 's3user-magict2017.s3.amazonaws.com'

投稿2017/01/04 16:29

big2017

総合スコア39

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問