Я следую документации Heroku для хранения статических файлов на S3 https://devcenter.heroku.com/articles/s3. Я понимаю, что этот документ не был обновлен, чтобы объяснить, как создать пользователя IAM, но я сделал это, а также создал политику дляведро и документ CORS.Затем я добавил env vars в Heroku, как описано в документации, но для пользователя IAM.Что я хочу знать, так это как Heroku знает, что делать с этими env-переменными.Важны ли названия?Я видел, как другие называют env vars как S3_ * вместо AWS_ *, как в документе Heroku.Я чувствую, что должен быть пропущенный шаг, типа «затем установите это дополнение, которое знает, как отправлять эти env-переменные на S3 при запросе статического файла».Поскольку мои изображения не отображаются, когда я ссылаюсь на них в приложении Heroku, используя общедоступный URL-адрес, указанный при нажатии на объект в консоли S3
ОБНОВЛЕНИЕ
Я был введен в заблуждение, полагая, что этонеобходимо иметь пользователя IAM и соответствующие учетные данные в качестве переменных env на Heroku, чтобы просто обслуживать статические файлы из S3.@ceejayoz помог мне понять, что это не так.Все, что вам нужно, это политика для корзины, которая позволяет GetObject.После того, как вы успешно это сделаете, вы увидите значок Public на корзине, а затем ваши файлы будут видны публике через URL-адрес объекта (чтобы увидеть это, щелкните файл в консоли S3).Если я когда-нибудь захочу иметь возможность загружать файлы программно в мое ведро, мне понадобится клиент (в моем случае гем aws-sdk, я считаю) и все другие вещи, о которых я упоминал выше (env vars, пользователь IAM, документ CORS).