ruby-on-rails - rails : Missing region error AWS heroku paperclip

标签 ruby-on-rails amazon-s3 paperclip

我不断收到此错误:

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

我的回形针配置如下所示:

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']
}

尝试添加 :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']
}

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

AWS_REGION:us-east-1

尝试默认配置。在 config/initializers 中创建了 aws.rb
Aws.config.update({
region: 'us-east-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'] }
  • 使用以下命令设置额外的 heroku 配置: heroku config:set AWS_REGION=us-east-1
  • 确保您的地区与最新地区保持一致:http://docs.aws.amazon.com/general/latest/gr/rande.html#opsworks_region

  • 希望有帮助!

    关于ruby-on-rails - rails : Missing region error AWS heroku paperclip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32677478/

    相关文章:

    ruby-on-rails - 在 Rails 中使用 AWS-SDK Gem、CarrierWave 和 Sidekiq 进行转码

    ruby-on-rails - 重构 Rspec 规范

    ruby-on-rails - Recurly 与 SaaS 套件

    amazon-s3 - 使用 Airflow 将数据从 Redshift 卸载到 S3

    ruby-on-rails - Paperclip - 将 SVG 转换为 PNG 时保持透明度

    javascript - 从 Controller 函数(Ruby on Rails)向选择框添加值

    amazon-s3 - AWS sam template 如何为S3事件添加多个规则?

    reactjs - 如何在静态 S3/CloudFront 网站托管上呈现动态 Next.js 路径?

    ruby-on-rails - 通过 ruby​​ OpenURI 下载文件时间歇性 EOFError

    ruby-on-rails-3 - 问题 w/Paperclip、MacPorts、ImageMagick 和 Snow Leopard