Отсутствует требование при использовании несущей волны и тумана для загрузки файла на S3.

Я получил эту ошибку Missing required arguments: aws_access_key_id, aws_secret_access_key. Это кажется странным, потому что я уже добавил Carrwave.rb в папку инициализаторов. Ключ доступа/секретный ключ отлично работает, когда я использую aws-sdk.

CarrierWave.configure do |config|
  config.fog_credentials = {
    provider: "AWS",
    aws_access_key_id: ENV["PUB-KEY"],
    aws_secret_access_key: ENV["SEC-KEY"]
  }
  config.fog_directory = ENV["mybucket"] 
end

person Hoan Dang    schedule 31.12.2012    source источник
comment
Когда вы получаете эту ошибку? В производстве? В разработке? Вы уверены, что ваши PUB-KEY и SEC_KEY одинаково установлены в разных средах?   -  person regulatethis    schedule 31.12.2012
comment
В разработке. как я уже упоминал, с помощью aws-sdk gem я успешно загрузил на s3   -  person Hoan Dang    schedule 31.12.2012
comment
Использует ли гем aws-sdk те же переменные ENV в своей конфигурации? Можете ли вы включить свою рабочую конфигурацию для aws-sdk?   -  person regulatethis    schedule 31.12.2012
comment
Вы когда-нибудь исправили это?   -  person benc    schedule 20.06.2013


Ответы (2)


Вот как выглядит мой рабочий:

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider               => 'AWS',
    :aws_access_key_id      => ENV['S3_KEY'],
    :aws_secret_access_key  => ENV['S3_SECRET'],
    :region                 => 'us-east-1'
  }
  config.fog_directory  = ENV['S3_BUCKET']
end

Для производства я добавил ключи S3_KEY, S3_SECRET и S3_BUCKET. Для разработки и тестирования я использовал инициализатор, который находится в файле .gitignore:

# .gitignore
/config/initializers/app_environment_variables.rb

и в инициализаторе

# config/initializers/app_environment_variables.rb

ENV['S3_KEY'] = "********************"
ENV['S3_SECRET'] = "**************************..."
ENV['S3_BUCKET'] = "**********-dev"
person AJcodez    schedule 31.12.2012

Конфигурации производства и разработки отличаются. Вам также нужно поместить ключи AWS в разработку.

Я просто скопировал ключи AWS из

config/environments/production.rb

to

config/environments/development.rb

И все работало нормально.

person lima_fil    schedule 08.03.2014