Для локальной разработки я использую Docker-контейнер localstack в качестве песочницы AWS с такой конфигурацией Paperclip:
config.paperclip_defaults = {
storage: :s3,
s3_credentials: {
access_key_id: ENV['AWS_ACCESS_KEY_ID'],
secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
},
bucket: 'my-development',
s3_region: 'localhost-region',
s3_host_name: 'localhost:4572',
url: ':s3_path_url',
}
Ссылки для загрузки контента сформированы правильно и работают:
Но когда я хочу загрузить новые файлы, я получаю Aws :: Errors :: NoSuchEndpointError на основе другого URL:
Я искал и отлаживал несколько часов, но не смог узнать, где генерируется этот URL и почему он использует amazonaws.com в качестве хоста.
Есть подсказки, где смотреть?
paperclip_defaults
объект фактически инициирует:s3
. В этот момент ваша загрузка всегда будет сосредоточена на s3. - person 7urkm3n   schedule 31.01.2020