【发布时间】:2018-10-26 04:21:23
【问题描述】:
我正在为一个新应用设置活动存储,但在设置我的亚马逊凭据后,我无法让该应用在生产环境中运行。
- 我已将我的 s3 存储桶凭据包含在我的
credentials.yaml.enc文件中 - 我已将
RAILS_MASTER_KEY环境变量添加到 Heroku。 - 我已经根据this在 storage.yml 文件中设置了我的 s3 存储桶。
- 我已将
config.active_storage.service = :amazon行添加到我的 production.rb 中。 - 我已将
config.require_master_key = true添加到我的 production.rb 中
当我尝试在 Heroku 上运行我的应用时,它无法加载。执行 $ Heroku run rails console 会给我错误:
"/app/vendor/bundle/ruby/2.3.0/gems/aws-sigv4-1.0.2/lib/aws-sigv4/signer.rb:517:in `extract_credentials_provider': Cannot load `Rails.config.active_storage.service`: (Aws::Sigv4::Errors::MissingCredentialsError)
missing credentials, provide credentials with one of the following options:
- :access_key_id and :secret_access_key
- :credentials
- :credentials_provider"
据我所知,我已经按照 Rails 5.2 的预期方式设置了凭据。我尝试了各种资产预编译的东西都无济于事。当我尝试将我的亚马逊凭据添加为环境时。 Heroku 中的变量,该应用程序在生产中运行良好。知道这里可能出了什么问题吗?
【问题讨论】:
标签: ruby-on-rails credentials rails-activestorage ruby-on-rails-5.2