tl;dr S3へのファイルのアップロードには、#putも#upload_fileもいずれも使えるが、特別な理由がない限り#upload_fileを使うべき 同様に、ダウンロードする際は#download_fileを使う s3 = Aws::S3::Resource.new(...) obj = s3.bucket('bucket-name').object('key') # upload obj.upload_file('/source/file/path', acl:'public-read') # download obj.download_file('key') 理由 AWS::S3::Object#upload_file, AWS::S3::Object#download_fileいずれも、容量が大きいオブジェクトの処理の時に自動でmultipartで処理をしてくれるから。 Up