【发布时间】:2015-11-20 09:31:22
【问题描述】:
我正在尝试使用回形针、aws-sdk gem 和 Amazon S3 创建一个图像上传器。 我收到此错误:
Aws::Errors::MissingRegionError in ProjectsController#create.
Missing region; use :region option or export region name to ENV['AWS_REGION']. using Oregon region.
projects_controller.rb
def create
@project = current_user.projects.new(project_params)
@project.save
respond_with(@project)
end
application.rb 文件
config.paperclip_defaults = {
storage: :s3,
s3_host_name: "s3-us-west-2.amazonaws.com",
s3_credentials: {
bucket: ENV['AWS_BUCKET'],
access_key_id: ENV['AWS_ACCESS_KEY_ID'],
secret_access_key: ENV['AWS_SECRET_ACCESS_KEY']
}
}
根据 S3 文档,我了解我需要更改为 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 文件中
export AWS_BUCKET=realv1
export AWS_ACCESS_KEY_ID=<MY_ACCESS_KEY_ID_HERE>
export AWS_SECRET_ACCESS_KEY=<MY_ACCESS_KEY_HERE>
export AWS_REGION="'us-west-2'
我重新启动服务器并重新测试,但仍然出现相同的错误。
更新
更新:
在 Rails 控制台中
2.0.0p247 :001 > ENV["AWS_REGION"]
=> "us-west-2" 2.0.0p247:002 >
【问题讨论】:
-
AWS_REGION附近的引号乱了。 -
那个访问密钥看起来很可疑:P
标签: ruby-on-rails ruby amazon-web-services amazon-s3