如何为Hartl的Rails教程授予AWS用户权限

亚历克

我不知道如何(或在何处)从AWS向用户授予读写权限,以便用户可以在生产环境中的sample_app上发布图片。这是第11章的最后一项任务,本教程未涵盖,我也找不到任何解决方案。

这是carrier_wave.rb文件:

if Rails.env.production?
  CarrierWave.configure do |config|
    config.fog_credentials = {
      # Configuration for Amazon S3
      :provider              => 'AWS',
      :aws_access_key_id     => ENV['lalala'],
      :aws_secret_access_key => ENV['oloalle']
    }
    config.fog_directory     =  ENV['name of bucket']
  end
end

这是教程中的过程:1)创建AWS IAM用户并记录访问和密钥-完成

2)创建S3存储桶-完成

3)向上一步中创建的用户授予读写权限-如何操作???

4)然后我运行以下三个命令:

$ heroku config:set S3_ACCESS_KEY=lalala
$ heroku config:set S3_SECRET_KEY=oloalle
$ heroku config:set S3_BUCKET=name of bucket

5)推送到git和heroku-完成

6)heroku pg:reset DATABASE-完成

7)heroku run rake db:migrate,在这里我收到此消息:

Running `rake db:migrate` attached to terminal... up, run.7906
rake aborted!
ArgumentError: Missing required arguments: aws_access_key_id, aws_secret_access_key
/app/vendor/bundle/ruby/2.0.0/gems/fog-core-1.28.0/lib/fog/core/service.rb:244:in `validate_options'
/app/vendor/bundle/ruby/2.0.0/gems/fog-core-1.28.0/lib/fog/core/service.rb:268:in `handle_settings'
/app/vendor/bundle/ruby/2.0.0/gems/fog-core-1.28.0/lib/fog/core/service.rb:98:in `new'
/app/vendor/bundle/ruby/2.0.0/gems/fog-core-1.28.0/lib/fog/storage.rb:25:in `new'
/app/vendor/bundle/ruby/2.0.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:83:in `eager_load_fog'
/app/vendor/bundle/ruby/2.0.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:96:in `fog_credentials='
/app/config/initializers/carrier_wave.rb:3:in `block in <top (required)>'
/app/vendor/bundle/ruby/2.0.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:118:in `configure'
/app/vendor/bundle/ruby/2.0.0/gems/carrierwave-0.10.0/lib/carrierwave.rb:14:in `configure'
/app/config/initializers/carrier_wave.rb:2:in `<top (required)>'
/app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `load'
/app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `block in load'
/app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency'
/app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `load'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:652:in `block in load_config_initializer'
/app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/notifications.rb:166:in `instrument'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:651:in `load_config_initializer'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:616:in `block (2 levels) in <class:Engine>'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:615:in `each'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:615:in `block in <class:Engine>'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:30:in `instance_exec'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:30:in `run'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:55:in `block in run_initializers'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:44:in `each'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:44:in `tsort_each_child'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:54:in `run_initializers'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:352:in `initialize!'
/app/config/environment.rb:5:in `<top (required)>'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:328:in `require'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:328:in `require_environment!'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:443:in `block in run_tasks_blocks'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
亚历克

对于以后的其他人来说,这个答案对我很有帮助

转到Heroku,在您的应用程序上,转到设置,点击Reveal Config Vars。

单击右侧的“编辑”,然后在其中输入您的秘密:

S3_BUCKET: name of your bucket goes here
S3_ACCESS_KEY: xxxxx
S3_SECRET_KEY: xxxx

在config / initializers / carrierwave.rb上或您要输入密码的任何地方,都应具有:

CarrierWave.configure do |config|
  config.root = Rails.root.join('tmp') # adding these...
  config.cache_dir = 'carrierwave' # ...two lines

  config.fog_credentials = {
    :provider               => 'AWS',                        # required
    :s3_access_key_id      => ENV['S3_ACCESS_KEY'],                        # required
    :s3_secret_access_key  => ENV['S3_SECRET_KEY'],                     # required
    :region                 => 'eu-west-1',                  # optional, defaults to 'us-east-1'
    :host                   => 's3.example.com',             # optional, defaults to nil
    :endpoint               => 'https://s3.example.com:8080' # optional, defaults to nil
  }
  config.fog_directory  = ENV['S3_Bucket']                             # required
  config.fog_public     = false                                   # optional, defaults to true
  config.fog_attributes = {'Cache-Control'=>'max-age=315576000'}  # optional, defaults to {}
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为每个用户授予不同的权限?

来自分类Dev

如何为不同的用户授予权限

来自分类Dev

如何为未提升权限的用户授予Windows特权?

来自分类Dev

Docker:如何为本地用户授予root权限?

来自分类Dev

如何授予用户root权限?

来自分类Dev

Michael Hartl撰写的Rails教程第6章验证用户

来自分类Dev

如何为Plesk 11用户授予对特定数据库的访问权限

来自分类Dev

如何为用户授予Linux对root拥有的特定文件的读取权限?

来自分类Dev

如何为本地用户Windows 10 Pro授予管理员权限?

来自分类Dev

Hartl教程无法关注用户

来自分类Dev

Michael Hartl的Rails教程中的“ user = users(:michael)”如何工作?

来自分类Dev

如何授予用户更改IP地址的权限?

来自分类Dev

如何使用 drush 授予用户权限

来自分类Dev

如何授予AWS用户访问s3存储桶托管的网站的权限?

来自分类Dev

如何授予用户从控制台访问 AWS Elastic Beanstalk 日志的权限

来自分类Dev

如何为vfat文件系统在automount上授予对root组和其他用户的读写权限?

来自分类Dev

授予apache用户权限

来自分类Dev

如何为群组和管理员授予权限

来自分类Dev

如何为群组和管理员授予权限

来自分类Dev

Ruby on Rails教程-Michael Hartl-测试“已使用电子邮件地址的用户”

来自分类Dev

如何授予另一个用户在AWS上连接AMI的权限而无需提供.pem文件

来自分类Dev

如何使用IAM策略AWS仅向S3存储桶的根帐户用户授予访问权限?

来自分类Dev

如何授予另一个用户在AWS上连接AMI的权限而无需提供.pem文件

来自分类Dev

跟随Michael Hartl的Rails教程中的功能

来自分类Dev

rspec LoadError(Ruby on Rails,Michael Hartl的教程)

来自分类Dev

Hartl Rails教程第5章错误

来自分类Dev

如何为AWS和CF用户分配对S3存储桶的访问权限?

来自分类Dev

如何只授予某些用户子文件夹权限

来自分类Dev

如何将文件权限授予组中的特定用户?

Related 相关文章

  1. 1

    如何为每个用户授予不同的权限?

  2. 2

    如何为不同的用户授予权限

  3. 3

    如何为未提升权限的用户授予Windows特权?

  4. 4

    Docker:如何为本地用户授予root权限?

  5. 5

    如何授予用户root权限?

  6. 6

    Michael Hartl撰写的Rails教程第6章验证用户

  7. 7

    如何为Plesk 11用户授予对特定数据库的访问权限

  8. 8

    如何为用户授予Linux对root拥有的特定文件的读取权限?

  9. 9

    如何为本地用户Windows 10 Pro授予管理员权限?

  10. 10

    Hartl教程无法关注用户

  11. 11

    Michael Hartl的Rails教程中的“ user = users(:michael)”如何工作?

  12. 12

    如何授予用户更改IP地址的权限?

  13. 13

    如何使用 drush 授予用户权限

  14. 14

    如何授予AWS用户访问s3存储桶托管的网站的权限?

  15. 15

    如何授予用户从控制台访问 AWS Elastic Beanstalk 日志的权限

  16. 16

    如何为vfat文件系统在automount上授予对root组和其他用户的读写权限?

  17. 17

    授予apache用户权限

  18. 18

    如何为群组和管理员授予权限

  19. 19

    如何为群组和管理员授予权限

  20. 20

    Ruby on Rails教程-Michael Hartl-测试“已使用电子邮件地址的用户”

  21. 21

    如何授予另一个用户在AWS上连接AMI的权限而无需提供.pem文件

  22. 22

    如何使用IAM策略AWS仅向S3存储桶的根帐户用户授予访问权限?

  23. 23

    如何授予另一个用户在AWS上连接AMI的权限而无需提供.pem文件

  24. 24

    跟随Michael Hartl的Rails教程中的功能

  25. 25

    rspec LoadError(Ruby on Rails,Michael Hartl的教程)

  26. 26

    Hartl Rails教程第5章错误

  27. 27

    如何为AWS和CF用户分配对S3存储桶的访问权限?

  28. 28

    如何只授予某些用户子文件夹权限

  29. 29

    如何将文件权限授予组中的特定用户?

热门标签

归档