У меня следующая проблема,
В моем приложении rails 4 я размещаю изображения/видео на s3. В настоящее время я сделал все файлы общедоступными и, например, изображение, к которому я могу получить доступ, сохранив общедоступную ссылку в базе данных.
Тем не менее, я хочу, чтобы некоторые видеоизображения были частными.
Я посмотрел на предварительно подписанные параметры URL-адреса, используя следующие
s3 = Aws::S3::Client.new(
region: AWS_REGION,
access_key_id: S3_CONFIG['access_key_id'],
secret_access_key: S3_CONFIG['secret_access_key']
)
resource = Aws::S3::Resource.new(client: s3)
bucket = resource.bucket(BUCKET_NAME)
utilities = bucket.objects(prefix: '/folder').each do |obj|
obj.presigned_url(:get, expires_in: 3600).to_s
end
Это отлично работает, но как мне использовать предварительно подписанный URL-адрес, поскольку я, очевидно, не могу хранить их в БД, как общедоступные ссылки.
Я использую aws-sdk версии 2.
Мне также интересно, является ли это вообще хорошим решением?
Спасибо за любые подсказки, Жан