2010-10-01 1 views
3

Я экспериментирую с s3, но я сталкиваюсь с проблемой разрешения (я думаю).constantredirect s3 для неопределенной конечной точки

Выход:

AWS::S3::PermanentRedirect in CkeditorController#create 

The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. 

Я использую CKEditor. Мой класс CKEditor :: Изображение включает в себя это:

has_attached_file :data, 
    :s3_credentials => "#{Rails.root}/config/s3.yml", 
    :storage => :s3, 
    :path => ":attachment/:id/:style.:extension" 

    validates_attachment_size :data, :less_than=>2.megabytes 

В s3.yml, ив получил:

access_key_id: "key" 
secret_access_key: "key" 
bucket: "name" 
AWS_CALLING_FORMAT: SUBDOMAIN 

Что мне не хватает? thx заранее!

ответ

2

Я полагаю, что ваше ведро не находится в стандартной зоне США. Вы пытались добавить «AWS_CALLING_FORMAT: SUBDOMAIN» в ваш .yml-файл? Запрос следует указывать затем на конечную точку, соответствующую области вашего ведра.

+0

благодарит за ваш ответ. Мое ведро в Европе да. Я попытался создать нам ведро, и он работал безупречно. Однако я попытался установить ur aws_calling_format i, и он все еще не работал. Ive обновил мой s3.yml, как вы можете видеть в моем обновленном вопросе. Это так? –

+0

Я думаю, вам нужно заменить SUBDOMAIN соответствующим поддоменом для ex: для Азиатско-Тихоокеанского региона: AWS_CALLING_FORMAT: s3-website-ap-southeast-1 Но он по-прежнему не работает для меня! – hnprashanth

8

С paperclip версией 3.1.4, просто добавив s3_host_name ключ к моему s3.yml файлу работал:

development: 
    bucket: 'bucket.name' 
    access_key_id: 'xxx' 
    secret_access_key: 'xxx' 
    s3_host_name: 's3-eu-west-1.amazonaws.com' 
0

Мы можем использовать по умолчанию конечной точки, как следующий код.

s3_credentials: { 
    access_key_id: AWS_CONFIG['access_key_id'], 
    secret_access_key: AWS_CONFIG['secret_access_key'], 
    bucket: AWS_CONFIG['bucket'], 
}, 
s3_host_name: 's3.amazonaws.com', 
s3_endpoint: 's3.amazonaws.com', 
storage: :s3, 
s3_headers:  { "Cache-Control" => "max-age=31557600" }, 
s3_protocol: "https", 
bucket:   AWS_CONFIG['bucket'], 
:url =>':s3_domain_url', 
:path => '/:class/:attachment/:id_partition/:style/:filename', 
default_url: "/:class/:attachment/:id/:style/:basename.:extension", 
default_style: "medium" 
Смежные вопросы