Rails:缺少区域错误AWS heroku回形针

Ste*_*ano 4 ruby-on-rails amazon-s3 paperclip

我一直收到这个错误:

Aws :: Errors :: MissingRegionError(缺少区域;使用:region选项或导出区域名称为ENV ['AWS_REGION']):

我的paperclip配置如下所示:

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']
}
Run Code Online (Sandbox Code Playgroud)

试图添加:区域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']
}
Run Code Online (Sandbox Code Playgroud)

env中的区域是(运行heroku配置时)

AWS_REGION:us-east-1

试图默认配置.在config/initializers中创建了aws.rb

Aws.config.update({
region: 'us-east-1',
})
Run Code Online (Sandbox Code Playgroud)

仍然无法正常工作.

小智 10

我通过执行以下操作使其工作:

  1. 添加到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. 使用以下命令设置其他heroku配置:heroku config:set AWS_REGION = us-east-1

  2. 确保您的区域与最新地区对齐:http://docs.aws.amazon.com/general/latest/gr/rande.html#opsworks_region

希望有所帮助!


chr*_*nne 5

你应该尝试:s3_region not:region