Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io._
- import com.amazonaws.ClientConfiguration
- import com.amazonaws.auth.DefaultAWSCredentialsProviderChain
- import com.amazonaws.services.s3.AmazonS3Client
- import com.amazonaws.services.s3.model._
- object S3Api {
- private val config = new ClientConfiguration() //in milliseconds
- config.setConnectionTimeout(5 * 1000)
- config.setMaxErrorRetry(5)
- private val s3client = new AmazonS3Client(new DefaultAWSCredentialsProviderChain, config)
- def upload(bucketName: String, key: String, stream: InputStream, length: Long): PutObjectResult = {
- val metadata = new ObjectMetadata()
- metadata.setContentLength(length)
- s3client.putObject(new PutObjectRequest(bucketName, key, stream, metadata))
- }
- def upload(bucketName: String, key: String, stream: InputStream, encoding: String, length: Long): PutObjectResult = {
- val metadata = new ObjectMetadata()
- metadata.setContentLength(length)
- metadata.setContentEncoding(encoding)
- s3client.putObject(new PutObjectRequest(bucketName, key, stream, metadata))
- }
- def upload(bucketName: String, key: String, file: File): PutObjectResult =
- s3client.putObject(new PutObjectRequest(bucketName, key, file))
- def download(bucketName: String, key: String, destinationFile: String): ObjectMetadata =
- s3client.getObject(new GetObjectRequest(bucketName, key), new File(destinationFile))
- }
- // sbt dependency => "com.amazonaws" % "aws-java-sdk" % "1.8.0"
Add Comment
Please, Sign In to add comment