AWS Credentials推送到Heroku时丢失

时间:2013-11-17 22:36:46

标签: ruby-on-rails heroku amazon-web-services amazon-s3

已回答:为Heroku设置环境变量时,我拼错了AWS_SECRET_ACCESS_KEY。我离开了第二个S.


我正在构建Rails 4应用程序,并使用Paperclip和AWS进行图像上传。每次我尝试上传图片时,都会在Heroku日志中获得AWS::Errors::MissingCredentialsError (Missing Credentials

在我的宝石文件中我有

gem 'paperclip'
gem 'aws-sdk'

在我的production.rb文件中,我有

config.paperclip_defaults = {
    :storage => :s3,
    :s3_credentials => {
      :bucket => ENV['S3_BUCKET_NAME'],
      :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
      :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
    }
  }

我有一个名为aws-sdk.rb的初始化程序,其中只包含此内容:

AWS.config({
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
  })

在我的相关模型文件中我有

has_attached_file :picture, 
    :storage => :s3,
    :s3_credentials => {
            :bucket => 'MyBucketName',
        :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
        :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
        },
    styles: {
        thumb: '100x100>',
        square: '200x200#',
        medium: '300x300>'
      }

我没想到我需要使用has_attached_file方法明确包含s3凭据?无论如何我试过了。仍然没有工作。

当我运行heroku config时,它会正确显示我的访问密钥,密钥ID和存储桶名称。

我不知道出了什么问题。

0 个答案:

没有答案