Ответ 1
Вот как вы можете загружать файл с диска в названное ведро и ключ:
s3 = Aws::S3::Resource.new
s3.bucket('my_bucket').object('key').upload_file('screenshots/image.png')
Это самый простой метод. Вы должны заменить "ключ" на ключ, который вы хотите сохранить в Amazon S3. Это автоматически загрузит большие файлы для вас, используя API-интерфейсы множественных загрузок, и повторите попытку неудачных частей.
Если вы предпочитаете всегда загружать объект PUT, вы можете вызвать #put
или использовать Aws::S3::Client
:
# using put
s3 = Aws::S3::Resource.new
File.open('screenshots/image.png', 'rb') do |file|
s3.bucket('my_bucket').object('key').put(body:file)
end
# using a client
s3 = Aws::S3::Client.new
File.open('screenshots/image.png', 'rb') do |file|
s3.put_object(bucket:'my_bucket', key:'key', body:file)
end
Кроме того, справочная документация по API для SDK v2 находится здесь: http://docs.aws.amazon.com/sdkforruby/api/index.html