Срок действия ссылки s3 истекает с помощью aws-sdk

я использовал gem 'aws-sdk' для загрузки файла с помощью rails, теперь я получаю созданную ссылку, в основном эта ссылка истечет через один час (я думаю, что это по умолчанию), но мне нужно сделать эту ссылку общедоступной, поэтому Есть ли способ предотвратить истечение срока действия ссылки? как я пробовал вот так

AWS.config(:access_key_id => 'XXXXXXXXXX',
                  :secret_access_key => 'XXXXXXX')
s3 = AWS::S3.new
my_bucket = s3.buckets['xxx/xxxx/xxxx']
object = my_bucket.objects[filename]
puts object.url_for(:read).to_s

person amtest    schedule 01.11.2014    source источник
comment
Ваше ведро открыто для всех? если это так, вам нужно указать только URL-адрес: s3.amazonaws.com/[bucket] /[ключ]   -  person Salvador Medina    schedule 01.11.2014
comment
теперь он не является общедоступным, теперь я получаю такой URL-адрес xxxxxxx&Expires=1414857564&Signature=xxxxxx" rel="nofollow noreferrer">s3.amazonaws.com/bucket/ будет ли это работать, если сделать его общедоступным?   -  person amtest    schedule 01.11.2014
comment
попробуйте создать строку URL самостоятельно, поэтому имена сегментов должны быть уникальными.   -  person Salvador Medina    schedule 01.11.2014
comment
Извините, я забыл сказать вам, чтобы вы также дали разрешение на ваши файлы. Я сделал это на Python и использовал этот ответ< /а>   -  person Salvador Medina    schedule 01.11.2014
comment
На самом деле я поставил здесь срок действия, и он работает нормально   -  person amtest    schedule 27.11.2014


Ответы (1)


Установите разрешение на доступ к файлу для общего чтения

s3 = Aws::S3::Resource.new(
credentials: Aws::Credentials.new('akid', 'secret'),
region: 'us-west-1'
)

obj = s3.bucket('bucket-name').object('key')
obj.upload_file('/source/file/path', acl:'public-read')
obj.public_url

Эта ссылка поможет вам

person Anand Jose    schedule 01.04.2016