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, s3Headers: S3Headers)(implicit mat: Materializer, 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

    s3Headers

    any headers you want to add

    returns

    Future of type BucketAccess

    See also

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

  7. 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/API_HeadBucket.html

  8. def checkIfBucketExistsSource(bucketName: String, s3Headers: S3Headers): 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

    s3Headers

    any headers you want to add

    returns

    Source of type BucketAccess

    See also

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

  9. 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/API_HeadBucket.html

  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  11. def deleteBucket(bucketName: String, s3Headers: S3Headers)(implicit mat: Materializer, attributes: Attributes): Future[Done]

    Delete bucket with a given name

    Delete bucket with a given name

    bucketName

    bucket name

    s3Headers

    any headers you want to add

    returns

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

    See also

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

  12. 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/API_DeleteBucket.html

  13. def deleteBucketContents(bucket: String): Source[Done, NotUsed]

    Deletes all S3 Objects within the given bucket

    Deletes all S3 Objects within the given bucket

    bucket

    the s3 bucket name

    returns

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

  14. def deleteBucketSource(bucketName: String, s3Headers: S3Headers): Source[Done, NotUsed]

    Delete bucket with a given name

    Delete bucket with a given name

    bucketName

    bucket name

    s3Headers

    any headers you want to add

    returns

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

    See also

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

  15. 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/API_DeleteBucket.html

  16. def deleteObject(bucket: String, key: String, versionId: Option[String], s3Headers: S3Headers): 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

    s3Headers

    any headers you want to add

    returns

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

  17. 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

  18. def deleteObjectsByPrefix(bucket: String, prefix: Option[String], s3Headers: S3Headers): 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

    s3Headers

    any headers you want to add

    returns

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

  19. 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

  20. def download(bucket: String, key: String, range: Option[ByteRange], versionId: Option[String], s3Headers: S3Headers): 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

    s3Headers

    any headers you want to add

    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.

  21. 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.

  22. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  24. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  25. def getObjectMetadata(bucket: String, key: String, versionId: Option[String], s3Headers: S3Headers): 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

    s3Headers

    any headers you want to add

    returns

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

  26. 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

  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  28. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  29. def listBucket(bucket: String, delimiter: String, prefix: Option[String] = None, s3Headers: S3Headers = S3Headers.empty): Source[ListBucketResultContents, NotUsed]

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

    Will return a source of object metadata for a given bucket and delimiter 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

    s3Headers

    any headers you want to add

    returns

    Source of ListBucketResultContents

    See also

    https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html (version 2 API)

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

  30. def listBucket(bucket: String, prefix: Option[String], s3Headers: S3Headers): 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

    s3Headers

    any headers you want to add

    returns

    Source of ListBucketResultContents

    See also

    https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html (version 2 API)

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

  31. 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/API_ListObjectsV2.html (version 2 API)

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

  32. def listBucketAndCommonPrefixes(bucket: String, delimiter: String, prefix: Option[String] = None, s3Headers: S3Headers = S3Headers.empty): Source[(Seq[ListBucketResultContents], Seq[ListBucketResultCommonPrefixes]), NotUsed]

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

    Will return a source of object metadata and common prefixes for a given bucket and delimiter 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

    delimiter

    Delimiter to use for listing only one level of hierarchy

    prefix

    Prefix of the keys you want to list under passed bucket

    s3Headers

    any headers you want to add

    returns

    Source of (Seq of ListBucketResultContents, Seq of ListBucketResultContents)

    See also

    https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html (version 2 API)

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

    https://docs.aws.amazon.com/AmazonS3/latest/dev/ListingKeysHierarchy.html (prefix and delimiter documentation)

  33. def makeBucket(bucketName: String, s3Headers: S3Headers)(implicit mat: Materializer, attr: Attributes): Future[Done]

    Create new bucket with a given name

    Create new bucket with a given name

    bucketName

    bucket name

    s3Headers

    any headers you want to add

    returns

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

    See also

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

  34. 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/API_CreateBucket.html

  35. def makeBucketSource(bucketName: String, s3Headers: S3Headers): Source[Done, NotUsed]

    Create new bucket with a given name

    Create new bucket with a given name

    bucketName

    bucket name

    s3Headers

    any headers you want to add

    returns

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

    See also

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

  36. 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/API_CreateBucket.html

  37. def multipartCopy(sourceBucket: String, sourceKey: String, targetBucket: String, targetKey: String, sourceVersionId: Option[String] = None, contentType: ContentType = ..., s3Headers: S3Headers = S3Headers.empty, 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.

  38. 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

  39. def multipartUploadWithHeaders(bucket: String, key: String, contentType: ContentType = ..., chunkSize: Int = MinChunkSize, chunkingParallelism: Int = 4, s3Headers: S3Headers = S3Headers.empty): 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

  40. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  41. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  42. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  43. 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

  44. def request(bucket: String, key: String, method: HttpMethod = HttpMethods.GET, versionId: Option[String] = None, s3Headers: S3Headers = S3Headers.empty): 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

  45. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  46. def toString(): String
    Definition Classes
    AnyRef → Any
  47. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  49. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

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

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped