Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails: Missing region error AWS heroku paperclip

I keep getting this error:

Aws::Errors::MissingRegionError (missing region; use :region option or export region name to ENV['AWS_REGION']):

my paperclip config looks like this:

config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => ENV['AWS_BUCKET'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}

tried to add :region ENV['AWS_REGION']

config.paperclip_defaults = {
:storage => :s3,
:region => ENV['AWS_REGION'],
:s3_credentials => {
:bucket => ENV['AWS_BUCKET'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}

region in env is (when running heroku config)

AWS_REGION: us-east-1

tried to default config. created aws.rb in config/initializers

Aws.config.update({
region: 'us-east-1',
})

still doesn't work.

like image 264
Stefano Avatar asked Dec 05 '22 20:12

Stefano


2 Answers

I got it working by performing the following:

  1. Add to config/environments.production.rb

config.paperclip_defaults = { :storage => :s3, :s3_region => ENV['AWS_REGION'], :s3_credentials => { :bucket => ENV['AWS_BUCKET'], :access_key_id => ENV['AWS_ACCESS_KEY_ID'], :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'] }

  1. Set an additional heroku config by using: heroku config:set AWS_REGION=us-east-1

  2. Ensure your region lines up with the latest regions at: http://docs.aws.amazon.com/general/latest/gr/rande.html#opsworks_region

Hope that helps!

like image 92
nalumedia Avatar answered Dec 28 '22 12:12

nalumedia


You should try :s3_region not :region

like image 21
chris finne Avatar answered Dec 28 '22 12:12

chris finne