【发布时间】:2016-05-17 20:30:06
【问题描述】:
即使此错误出现在其他 SO 问题中,我也无法解决问题,因此我正在寻求帮助。
我正在使用rails 4.2.5、paperclip ~>4.1、aws-sdk <2.0 将附件存储到Amazon S3。
我已经创建了一个 bucket 和一个拥有 AmazonS3FullAccess 权限的 IAM User,并且我正尝试像这样从 Rails 连接。
config/environments/development.rb
config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => 'bucket-name',
:access_key_id => '****',
:secret_access_key => '****',
}
}
app/models/user.rb
has_attached_file :avatar,
:styles => { :medium => "300x300#", :thumb => "100x100#" },
:default_url => "/img/avatar-missing.jpg",
:storage => :s3,
:s3_host_name => "s3-us-east-1.amazonaws.com"
我使用此策略配置了存储桶权限
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/*"
]
}
]
}
但是当我尝试向它上传一些东西时,它会抛出这个 ******* 错误:
getaddrinfo: nodename nor servname provided, or not known
在控制台中,我可以看到回形针可以调整图片大小,但无法将其上传到 Amazon S3
[paperclip] saving /users/avatars/000/000/001/original/10382845_246916218831306_3480489092212800336_n.jpg
[AWS S3 200 2.304022 3 retries] put_object(:acl=>:public_read,:bucket_name=>"bucket-name",:content_length=>41431,:content_type=>"image/jpeg",:data=>Paperclip::UploadedFileAdapter: 10382845_246916218831306_3480489092212800336_n.jpg,:key=>"users/avatars/000/000/001/original/10382845_246916218831306_3480489092212800336_n.jpg") SocketError getaddrinfo: nodename nor servname provided, or not known
我们将不胜感激任何帮助
【问题讨论】:
标签: ruby-on-rails amazon-s3 paperclip