Guest User

Untitled

a guest
Jan 21st, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. import java.io._
  2.  
  3. import com.amazonaws.ClientConfiguration
  4. import com.amazonaws.auth.DefaultAWSCredentialsProviderChain
  5. import com.amazonaws.services.s3.AmazonS3Client
  6. import com.amazonaws.services.s3.model._
  7.  
  8. object S3Api {
  9.  
  10. private val config = new ClientConfiguration() //in milliseconds
  11. config.setConnectionTimeout(5 * 1000)
  12. config.setMaxErrorRetry(5)
  13.  
  14. private val s3client = new AmazonS3Client(new DefaultAWSCredentialsProviderChain, config)
  15.  
  16. def upload(bucketName: String, key: String, stream: InputStream, length: Long): PutObjectResult = {
  17. val metadata = new ObjectMetadata()
  18. metadata.setContentLength(length)
  19. s3client.putObject(new PutObjectRequest(bucketName, key, stream, metadata))
  20. }
  21.  
  22. def upload(bucketName: String, key: String, stream: InputStream, encoding: String, length: Long): PutObjectResult = {
  23. val metadata = new ObjectMetadata()
  24. metadata.setContentLength(length)
  25. metadata.setContentEncoding(encoding)
  26. s3client.putObject(new PutObjectRequest(bucketName, key, stream, metadata))
  27. }
  28.  
  29. def upload(bucketName: String, key: String, file: File): PutObjectResult =
  30. s3client.putObject(new PutObjectRequest(bucketName, key, file))
  31.  
  32.  
  33. def download(bucketName: String, key: String, destinationFile: String): ObjectMetadata =
  34. s3client.getObject(new GetObjectRequest(bucketName, key), new File(destinationFile))
  35.  
  36. }
  37.  
  38. // sbt dependency => "com.amazonaws" % "aws-java-sdk" % "1.8.0"
Add Comment
Please, Sign In to add comment