У меня есть фотографии на Amazon S3. Изображения являются частными и не общедоступными, поэтому я не могу показать им прямую ссылку s3.amazonaws/bucket_name/key_name/image_name.jpg
Я знаю имена изображений на Amazon S3. Как показать, например, изображения Amazon S3 flower.png и house.png на моем сайте с помощью PHP?
Если вы не хотите публиковать свой файл, вот процедура.
убедитесь, что ваш ведро S3 является закрытым. Разрешены только авторизованные и авторизированные вызовы
на стороне сервера, при рендеринге страницы, генерировать ссылки на объект S3, который включает подпись. Подпись будет вычислена из вашего доступа и секретного ключа и сообщит S3, что вызов должен быть разрешен
S3 Подписанный URL-адрес легко сгенерирован из нашего SDK. Для PHP просто проверьте документ на странице http://docs.aws.amazon.com/aws-sdk-php/guide/latest/service-s3.html#creating-a-pre-signed-url
Самое простое – сделать их общедоступными в s3, по крайней мере, только для чтения.
Если вы не хотите, чтобы они были общедоступными на s3, по какой-то причине вы могли бы добавить облачный дистрибутив, который будет обслуживать изображения из вашего ведра s3, и вы можете предоставить облачный доступ к файлам, не делая изображения общедоступными в s3 ,
Эта ссылка показывает вам, как это сделать: