Packages

object S3

Factory of S3 operations.

Source
S3.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. S3
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val MinChunkSize: Int
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def checkIfBucketExists(bucketName: String)(implicit mat: Materializer, attributes: Attributes = Attributes()): Future[BucketAccess]

    Checks whether the bucket exits and user has rights to perform ListBucket operation

    Checks whether the bucket exits and user has rights to perform ListBucket operation

    bucketName

    bucket name

    returns

    Future of type BucketAccess

    See also

    https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketHEAD.html

  7. def checkIfBucketExistsSource(bucketName: String): Source[BucketAccess, NotUsed]

    Checks whether the bucket exits and user has rights to perform ListBucket operation

    Checks whether the bucket exits and user has rights to perform ListBucket operation

    bucketName

    bucket name

    returns

    Source of type BucketAccess

    See also

    https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketHEAD.html

  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate() @throws( ... )
  9. def deleteBucket(bucketName: String)(implicit mat: Materializer, attributes: Attributes = Attributes()): Future[Done]

    Delete bucket with a given name

    Delete bucket with a given name

    bucketName

    bucket name

    returns

    Future of type Done as API doesn't return any additional information

    See also

    https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETE.html

  10. def deleteBucketSource(bucketName: String): Source[Done, NotUsed]

    Delete bucket with a given name

    Delete bucket with a given name

    bucketName

    bucket name

    returns

    Source of type Done as API doesn't return any additional information

    See also

    https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETE.html

  11. def deleteObject(bucket: String, key: String, versionId: Option[String] = None): Source[Done, NotUsed]

    Deletes a S3 Object

    Deletes a S3 Object

    bucket

    the s3 bucket name

    key

    the s3 object key

    versionId

    optional version id of the object

    returns

    A Source that will emit akka.Done when operation is completed

  12. def deleteObjectsByPrefix(bucket: String, prefix: Option[String]): Source[Done, NotUsed]

    Deletes a S3 Objects which contain given prefix

    Deletes a S3 Objects which contain given prefix

    bucket

    the s3 bucket name

    prefix

    optional s3 objects prefix

    returns

    A Source that will emit akka.Done when operation is completed

  13. def download(bucket: String, key: String, range: Option[ByteRange] = None, versionId: Option[String] = None, sse: Option[ServerSideEncryption] = None): Source[Option[(Source[ByteString, NotUsed], ObjectMetadata)], NotUsed]

    Downloads a S3 Object

    Downloads a S3 Object

    bucket

    the s3 bucket name

    key

    the s3 object key

    range

    [optional] the ByteRange you want to download

    sse

    [optional] the server side encryption used on upload

    returns

    The source will emit an empty Option if an object can not be found. Otherwise Option will contain a tuple of object's data and metadata.

  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  16. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def getObjectMetadata(bucket: String, key: String, versionId: Option[String] = None, sse: Option[ServerSideEncryption] = None): Source[Option[ObjectMetadata], NotUsed]

    Gets the metadata for a S3 Object

    Gets the metadata for a S3 Object

    bucket

    the s3 bucket name

    key

    the s3 object key

    versionId

    optional version id of the object

    sse

    the server side encryption to use

    returns

    A Source containing an scala.Option that will be scala.None in case the object does not exist

  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def listBucket(bucket: String, prefix: Option[String]): Source[ListBucketResultContents, NotUsed]

    Will return a source of object metadata for a given bucket with optional prefix using version 2 of the List Bucket API.

    Will return a source of object metadata for a given bucket with optional prefix using version 2 of the List Bucket API. This will automatically page through all keys with the given parameters.

    The alpakka.s3.list-bucket-api-version can be set to 1 to use the older API version 1

    bucket

    Which bucket that you list object metadata for

    prefix

    Prefix of the keys you want to list under passed bucket

    returns

    Source of ListBucketResultContents

    See also

    https://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html (version 1 API)

    https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html (version 1 API)

  21. def makeBucket(bucketName: String)(implicit mat: Materializer, attr: Attributes = Attributes()): Future[Done]

    Create new bucket with a given name

    Create new bucket with a given name

    bucketName

    bucket name

    returns

    Future with type Done as API doesn't return any additional information

    See also

    https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUT.html

  22. def makeBucketSource(bucketName: String): Source[Done, NotUsed]

    Create new bucket with a given name

    Create new bucket with a given name

    bucketName

    bucket name

    returns

    Source of type Done as API doesn't return any additional information

    See also

    https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUT.html

  23. def multipartCopy(sourceBucket: String, sourceKey: String, targetBucket: String, targetKey: String, sourceVersionId: Option[String] = None, contentType: ContentType = ..., s3Headers: S3Headers = S3Headers(), chunkSize: Int = MinChunkSize, chunkingParallelism: Int = 4): RunnableGraph[Future[MultipartUploadResult]]

    Copy an S3 object from source bucket to target bucket using multi part copy upload.

    Copy an S3 object from source bucket to target bucket using multi part copy upload.

    sourceBucket

    source s3 bucket name

    sourceKey

    source s3 key

    targetBucket

    target s3 bucket name

    targetKey

    target s3 key

    sourceVersionId

    optional version id of source object, if the versioning is enabled in source bucket

    contentType

    an optional ContentType

    s3Headers

    any headers you want to add

    chunkSize

    the size of the requests sent to S3, minimum MinChunkSize

    chunkingParallelism

    the number of parallel requests used for the upload, defaults to 4

    returns

    a runnable graph which upon materialization will return a Future containing the results of the copy operation.

  24. def multipartUpload(bucket: String, key: String, contentType: ContentType = ..., metaHeaders: MetaHeaders = MetaHeaders(Map()), cannedAcl: CannedAcl = CannedAcl.Private, chunkSize: Int = MinChunkSize, chunkingParallelism: Int = 4, sse: Option[ServerSideEncryption] = None): Sink[ByteString, Future[MultipartUploadResult]]

    Uploads a S3 Object by making multiple requests

    Uploads a S3 Object by making multiple requests

    bucket

    the s3 bucket name

    key

    the s3 object key

    contentType

    an optional ContentType

    metaHeaders

    any meta-headers you want to add

    cannedAcl

    a CannedAcl, defaults to CannedAcl.Private

    chunkSize

    the size of the requests sent to S3, minimum MinChunkSize

    chunkingParallelism

    the number of parallel requests used for the upload, defaults to 4

    returns

    a Sink that accepts ByteString's and materializes to a Future of MultipartUploadResult

  25. def multipartUploadWithHeaders(bucket: String, key: String, contentType: ContentType = ..., chunkSize: Int = MinChunkSize, chunkingParallelism: Int = 4, s3Headers: S3Headers = S3Headers()): Sink[ByteString, Future[MultipartUploadResult]]

    Uploads a S3 Object by making multiple requests

    Uploads a S3 Object by making multiple requests

    bucket

    the s3 bucket name

    key

    the s3 object key

    contentType

    an optional ContentType

    chunkSize

    the size of the requests sent to S3, minimum MinChunkSize

    chunkingParallelism

    the number of parallel requests used for the upload, defaults to 4

    s3Headers

    any headers you want to add

    returns

    a Sink that accepts ByteString's and materializes to a Future of MultipartUploadResult

  26. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  28. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  29. def putObject(bucket: String, key: String, data: Source[ByteString, _], contentLength: Long, contentType: ContentType = ..., s3Headers: S3Headers): Source[ObjectMetadata, NotUsed]

    Uploads a S3 Object, use this for small files and multipartUpload for bigger ones

    Uploads a S3 Object, use this for small files and multipartUpload for bigger ones

    bucket

    the s3 bucket name

    key

    the s3 object key

    data

    a Stream of ByteString

    contentLength

    the number of bytes that will be uploaded (required!)

    contentType

    an optional ContentType

    s3Headers

    any headers you want to add

    returns

    a Source containing the ObjectMetadata of the uploaded S3 Object

  30. def request(bucket: String, key: String, method: HttpMethod = HttpMethods.GET, versionId: Option[String] = None, s3Headers: S3Headers = S3Headers()): Source[HttpResponse, NotUsed]

    Use this for a low level access to S3.

    Use this for a low level access to S3.

    bucket

    the s3 bucket name

    key

    the s3 object key

    method

    the HttpMethod to use when making the request

    versionId

    optional version id of the object

    s3Headers

    any headers you want to add

    returns

    a raw HTTP response from S3

  31. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  32. def toString(): String
    Definition Classes
    AnyRef → Any
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  35. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped