2016-10-30 4 views
-2

Im с использованием драгоценного камня AWS-SDK 2.3.0 с paperclip 5.0.0 драгоценный камень.aws-sdk 2.3.0 и Paperclip 5.0.0 Плохая область

В моем config/environment/development.rb файле у меня есть

config.paperclip_defaults = { 
    storage: :s3, 
    s3_region: 'eu-west-1', 
    s3_credentials: { 
     bucket: 'myBucketName', 
     access_key_id: 'xxxxxxxxxxxxxxxxxxxxxx', 
     secret_access_key: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx' 
     } 
    } 

Моего ведро область в наборе в Ирландии, когда я создал свое ведро так, согласно документу, предоставленной AWS я установил мой s3 регион eu-west-1.

Я предполагаю, что мои данные верны, но когда я загружаю изображение, его сохраняют в ведро, но он не будет отображаться в моем приложении rails. Если я правая кнопка мыши на открытом изображении в новой вкладке я получаю эту ошибку:

<Message> 
The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. 
</Message> 
+0

* его сохраняют в ведро, но он не будет отображаться в моем приложении для рельсов. * Это интересная комбинация поведения. Когда вы щелкните правой кнопкой мыши и откройте новую вкладку, каково имя хоста URL-адреса? Сообщение об ошибке «Указанная конечная точка» должно указывать на конечную точку. Какую конечную точку он перечисляет? Также может быть полезно захват заголовков ответов HTTP из неудачной загрузки. (Использование 'curl -v 'http ...'' - хороший способ захватить это и изменить его в ваш вопрос). –

ответ

0

Работа вокруг этого, чтобы создать файл с именем:

config/initializers/paperclip.rb 

И добавить следующее:

Paperclip::Attachment.default_options[:url] = ':s3_domain_url' 
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename' 
Paperclip::Attachment.default_options[:s3_host_name] = 's3-eu-west-1.amazonaws.com' 

И в 3-й строке, где у меня есть eu-west-1 заменить, что в зависимости от региона, находятся в.

-1

Это выглядит как известная проблема, по команде, который поддерживает скрепку.

https://github.com/thoughtbot/paperclip/issues/2151

aminariana commented on Mar 25 Workaround for now: Configure s3_host_name to s3-[region].amazonaws.com like so:

config.paperclip_defaults = { s3_host_name: "s3-#{ENV['AWS_REGION']}.amazonaws.com", }

только принял прибегая к помощи точное сообщение об ошибке, чтобы найти это кстати.

+0

уже пробовал это, вот почему я разместил здесь ошибку –

+1

@GurmukhSingh, вы должны были упомянуть об этом в своем вопросе. При тестировании предлагаемого решения вы также должны быть очень осторожны, подтверждая, что ошибка с решением на месте идентична по всем значимым образом. «Также терпит неудачу» не соответствует «не правильно». –

0

У меня тоже была эта проблема. Проблема для меня была в том, что у меня был неправильный регион, указанный в моей ENV. Обязательно проверьте область на S3, нажав «Свойства» для вашего ковша. Я просто смотрел на регион в баре URL-адреса на консоли Amazon, который, возможно, был только тем регионом, в котором я нахожусь.

Также обратите внимание, что регион США стандартом was renamed на восток США (штат Вирджиния), с его область области us-east-1.