【发布时间】:2016-01-04 10:49:19
【问题描述】:
我在 Heroku 上有一个 Rails 应用程序,连接到 AWS S3 用于文件存储。我的一个熟人试图检查并帮助我完成一项功能,但遇到了以下问题:“我尝试克隆你的应用程序来玩它,但我似乎需要 aws 键来启动和运行它。”我将 figaro 用于本地环境,将 heroku 配置用于生产。解决这个问题的好方法是什么?以某种方式提供临时访问权限或先共享 github 存储库,然后再取消访问权限?
更新
配置/初始化/载波:
CarrierWave.configure do |config|
#config.fog_provider = 'fog/aws' # required
config.fog_credentials = {
provider: 'AWS', # required
aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'], # required
aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'] # required
}
config.fog_directory = ENV['S3_BUCKET_NAME'] # required
#config.fog_public = false # optional, defaults to true
config.fog_attributes = { 'Cache-Control' => "max-age=#{365.day.to_i}" } # optional, defaults to {}
end
上传者:
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
# Choose what kind of storage to use for this uploader:
if Rails.env.production?
storage :fog
else
storage :file
end
【问题讨论】:
-
您希望您的朋友能够将文件上传到您的 S3 存储桶吗?换句话说,您要解决的实际问题是什么?
-
不一定。她只是在尝试使用该应用程序,因为其中一项功能无法正常工作。所以她会克隆它并解决我没有连接到 AWS 的问题。
标签: ruby-on-rails amazon-web-services heroku github amazon-s3