Ruby on rails AWS::S3::错误::使用回形针gem的rails中的InvalidAccessKeyId

Ruby on rails AWS::S3::错误::使用回形针gem的rails中的InvalidAccessKeyId,ruby-on-rails,heroku,amazon-s3,paperclip,aws-sdk,Ruby On Rails,Heroku,Amazon S3,Paperclip,Aws Sdk,我在注册上传的图像时出现此错误,但我已经在heroku配置中设置了我的AWS_SECRET_ACCESS_KEY和AWS_ACCESS_KEY_ID,并三次检查它们是否正确 以下是我在开发环境中拥有的 config.paperclip_defaults = { :storage => :s3, :s3_credentials => { :bucket => ENV['AWS_BUCKET'], :access_key_id => ENV['AW

我在注册上传的图像时出现此错误,但我已经在heroku配置中设置了我的AWS_SECRET_ACCESS_KEY和AWS_ACCESS_KEY_ID,并三次检查它们是否正确

以下是我在开发环境中拥有的

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

  }
}
config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['AWS_BUCKET'],
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
  }
}
这是我的生产环境

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

  }
}
config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['AWS_BUCKET'],
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
  }
}
这是我的aws.rb初始值设定项(如果没有这两行,我会得到一个缺少凭据的错误)

最后是我的回形针.rb初始化器

# config/initializers/paperclip.rb
Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename'
关于我为什么会出现这个无效的访问密钥错误,有什么建议吗

AWS::S3::Errors::InvalidAccessKeyId in Devise::RegistrationsController#create
The AWS Access Key Id you provided does not exist in our records.

access\u key\u id:“您的\u access\u key”,
。。。你实际上有你的钥匙,在这里,对吗?可能是以AKIA开始的。我的访问密钥确实是以AKIA开始的。。。您是否建议我将实际访问密钥和秘密访问密钥放入aws.rb初始值设定项中?我觉得当我推到github的时候那是很危险的,所有人都可以看到它?它需要以某种方式到达那里,是的。。。那些字符串是占位符。。。尽管您没有将其提交给github是正确的。尤其是这个秘密,必须保密。您需要另一种方法来设置密钥和密码。。。也许是环境变量?我觉得我什么都试过了。我的密钥和秘密在heroku配置中设置。我不顾一切,甚至试图将密钥和秘密直接添加到aws.rb初始值设定项中我得到了这个错误-aws::S3::Errors::AllAccessDisabled in Desive::RegistrationsController#create对这个对象的所有访问都被禁用bucket、密钥id和秘密访问密钥都在heroku配置中设置,但我得到“出了问题”在生产中,即使环境变量已设置。在本地,如果我将密钥和密码放入2个aws.rb占位符,则会得到“AllAccessDisabled”。AWS不能很好地使用Desive吗?