перманентный s3 для неопределенной конечной точки - PullRequest
3 голосов
/ 01 октября 2010

Я экспериментирую с 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 :: Picture включает в себя следующее:

  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

Чего мне не хватает?спасибо заранее!

Ответы [ 3 ]

8 голосов
/ 22 августа 2012

В 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'
2 голосов
/ 01 октября 2010

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

0 голосов
/ 17 февраля 2016

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

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"
...