【发布时间】:2016-03-21 19:16:20
【问题描述】:
我在我的本地环境中,我正在使用carrierwave和fog两个上传图像和文件在不同的上传器中。
我在本地电脑上,我将使用 DigitalOcean 而不是 Heroku
在我的附件上传器中,我只有:
class AttachmentUploader < CarrierWave::Uploader::Base
storage :fog
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
宝石文件:
gem 'carrierwave', '~> 0.10.0'
gem 'mini_magick', '~> 4.3.6'
gem 'fog', '~> 1.36.0'
配置/初始化器/carrierwave.rb
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => ENV['S3_ACCESS_KEY'],
:aws_secret_access_key => ENV['S3_SECRET_KEY']
}
config.fog_directory = ENV['S3_BUCKET']
end
application.yml(使用 figaro 创建)
development:
DEV_DB_NAME: archgard_cms_development
DEV_DB_USERNAME: username
DEV_DB_PASSWORD: password
S3_ACCESS_KEY: AKIAJXAY2SZYZYYOH7HA
S3_SECRET_KEY: QAZTM/qYjl/bimDLSiWD7DqvbcyaW38yGTY+4lOSjtEav
S3_BUCKET: various-bucket
test:
TEST_DB_NAME: archgard_cms_test
TEST_DB_USERNAME: username
TEST_DB_PASSWORD: password
production:
PRO_DB_NAME: archgard_cms_production
PRO_DB_USERNAME: username
PRO_DB_PASSWORD: password
PRO_DEVISE_SECRET_KEY: 37f2b350d33b55c6a3b428558da7a48d2f24462d88d90b9b6275ceadcb92ec15ae56a50a0dda06dfa6b564dc489f26a30dd3bdjskjskjsdunnnieujeje
S3_ACCESS_KEY: AKIAJXAY2SZYZYYOH7HA
S3_SECRET_KEY: QAZTM/qYjl/bimDLSiWD7DqvbcyaW38yGTY+4lOSjtEav
S3_BUCKET: various-bucket
Amazon S3 存储桶政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::*"
},
{
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::various-bucket"
},
{
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::various-bucket/*"
}
]
}
我在 Amazon 中创建了名为 carlos21 的用户,并添加了 AmazonS3FullAccess 和 AdministratorAccess。创建用户后,我创建了存储桶。
我什至尝试使用亚马逊的超级管理员凭据。
【问题讨论】:
-
你能分享错误的回溯吗?像这样的 S3 错误的正文通常包含关于哪些特别是不允许访问的信息更丰富的消息。谢谢!
标签: ruby-on-rails amazon-s3 carrierwave fog