2015-01-30 4 views
0

Я развертываю приложение rails для производства с использованием refile gem для загрузки файлов и подключения к s3 для хранения. Все прекрасно работает в разработке Я получаю следующее сообщение об ошибке в производстве при попытке загрузить новое изображение или восстановить существующие один:Учетные данные AWS не найдены на производстве

E, [2015-01-30T16:59:02.841941 #29551] ERROR -- : Refile::App: Error -> 
Missing Credentials. 

Unable to find AWS credentials. You can configure your AWS credentials 
a few different ways: 

* Call AWS.config with :access_key_id and :secret_access_key 

* Export AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY to ENV 

* On EC2 you can run instances with an IAM instance profile and credentials 
    will be auto loaded from the instance metadata service on those 
    instances. 

* Call AWS.config with :credential_provider. A credential provider should 
    either include AWS::Core::CredentialProviders::Provider or respond to 
    the same public methods. 

= Ruby on Rails 

In a Ruby on Rails application you may also specify your credentials in 
the following ways: 

* Via a config initializer script using any of the methods mentioned above 
    (e.g. RAILS_ROOT/config/initializers/aws-sdk.rb). 

* Via a yaml configuration file located at RAILS_ROOT/config/aws.yml. 
    This file should be formated like the default RAILS_ROOT/config/database.yml 
    file. 

E, [2015-01-30T16:59:02.842423 #29551] ERROR -- : Refile::App: /home/deploy/real_org/shared/bundle/ruby/2.1.0/gems/aws-sdk-v1-1.60.2/lib/aws/core/credential_providers.rb:140:in `credentials' 

Я сконфигурированный полномочие в RAILS_ROOT/конфигурация/инициализаторах/AWS-SDK .rb файл как так

require 'aws-sdk' 

AWS.config(access_key_id: ENV["AWS_ACCESS_KEY_ID"], secret_access_key: ENV["AWS_SECRET_KEY"]) 

И я подтвердил, что переменные Env существуют, введя

$: echo $AWS_SECRET_KEY 

$: echo $AWS_ACCESS_KEY_ID 

, который возвращает ключи правильно. Есть идеи?

+1

https://github.com/laserlemon/figaro –

+0

Проверить здесь для проходных - возможно, это поможет: http://stackoverflow.com/questions/28443923/how-to-set-up-amazon-s3-paperclip-and-env-variables – David

ответ

0

Убедитесь, что производственные ключи также установлены. Производство и разработка - это две разные среды. Если вы развернулись к чему-то вроде героку, вам придется установить их вручную или с помощью чего-то вроде драгоценного камня figaro, о котором говорил Брэд.

Вот некоторые ресурсы

http://www.gotealeaf.com/blog/managing-environment-configuration-variables-in-rails

+0

Я думаю, что у меня все ключи установлены правильно - я действительно могу загружать изображения на S3 через Refile в консоли. Я не могу дублировать проблему в консоли, задаваясь вопросом, помогает ли это смотреть в другом направлении. –

Смежные вопросы