我将我的 rails 应用程序部署到 Heroku 上,并在服务器上将 aws 访问密钥设置为环境变量。但是,要在开发环境中测试我的应用程序,我需要在本地机器上的某个地方初始化它们。所以我决定以下。
/config/inittailizers/init_aws_locally.rb
ENV['AWS_ACCESS_KEY_ID'] = 'my key'
ENV['AWS_SECRET_ACCESS_KEY'] = 'my secret key'
该文件被添加到.gitignore
但是,当我在开发环境中上传时,我收到以下错误消息:
Missing required arguments: aws_access_key_id, aws_secret_access_key
我想不知何故,我忽略了一个简单的步骤,将我的 aws 密钥包含在我的开发环境中。但是我不确定为什么在我已经初始化密钥时出现错误的原因。
供您参考,我使用的是carrierwave、S3 和Fog。
配置/初始化程序/fog.rb
CarrierWave.configure do |config|
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
:region => 'us-east-1', # optional, defaults to 'us-east-1'
}
config.fog_directory = 'd' # required
config.fog_public = true # optional, defaults to true
end
谢谢你。我感谢您的帮助!