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

Код доступен на https://github.com/dorian/magic

При выполнении image_tag image я получаю:

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

https://s3.amazonaws.com/magic.doma.io/iB68ze7FHdf8zYzoGrS4FzCP?response-content-disposition=inline%3B%20filename%3D%22Screen%20Shot%202018-04-06%20at%2011.19.32%20AM. png% 22% 3B% 20filename% 2A% 3DUTF-8% 27% 27Screen% 2520Shot% 25202018-04-06% 2520at% 252011.19.32% 2520AM.png & response-content-type = image% 2Fpng & X-Amz-Algorithm = AWS4- HMAC-SHA256 & X-Amz-удостоверени = AKIAI4IE6Y56GAUDFDGQ% 2F20180411% 2Fus-восток-1% 2Fs3% 2Faws4_request & X-Amz-Date = 20180411T093708Z & X-Amz-Истекает = 300 & X-Amz-SignedHeaders = хост & X-Amz-Подпись = c611a8262d6bc60467b3b4b3aa49be649407e1ce2264927c34b895fea75edb19

Вот как я использую ActiveStorage:

config/storage.yml:

test:
  service: Disk
  root: <%= Rails.root.join("tmp/storage") %>

local:
  service: Disk
  root: <%= Rails.root.join("storage") %>

amazon:
  service: S3
  access_key_id: <%= ENV["AWS_ACCESS_KEY_ID"] %>
  secret_access_key: <%= ENV["AWS_SECRET_ACCESS_KEY"] %>
  region: us-east-1
  bucket: magic.doma.io

app/controller/ads_controller.rb:

@ad.images.attach(ad_params[:images])

app/views/ads/show.html.slim:

= image_tag image

app/views/ads/new.html.slim:

= f.file_field :images, multiple: true

Мы предполагаем, что пройдемся по вашему проекту на github, чтобы выяснить, где вы используете image_tag image? Пожалуйста, укажите контекст в теле вашего вопроса

Cyzanfar 11.04.2018 11:50

@Cyzanfar Я добавил соответствующий код

Dorian 11.04.2018 12:15
1
2
400
1

Ответы 1

Мне нужно было убедиться, что я использую правильный регион aws, например us-east-2 и используйте ключ доступа на уровне пользователя на AWS (вместо корневого ключа).

Другие вопросы по теме