Packages

trait S3Sink[F[_]] extends AnyRef

A helper for uploading S3 objects using FS2.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. S3Sink
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def writeBytes(bucket: String, key: String, contentType: String): Pipe[F, Byte, String]

    Write the stream of bytes to an object at the specified path.

    Write the stream of bytes to an object at the specified path.

    The bytes are uploaded all at once, and buffered in-memory. For large objects on the order of several MiB, consider doing a multipart upload.

    bucket

    The bucket of the object you are uploading to.

    key

    The key of the object you are uploading to.

    contentType

    The desired content type of the object being uploaded.

    returns

    An FS2 Pipe that writes all incoming bytes and emits a single string (ETag) of your object.

  2. abstract def writeBytesMultipart(bucket: String, key: String, contentType: String, partSizeBytes: Int = 5120): Pipe[F, Byte, String]

    Write the stream of bytes to an object at the specified path in multiple parts.

    Write the stream of bytes to an object at the specified path in multiple parts. Unlike writeBytes, which uploads everything at once, this uses the somewhat more complex S3 multipart upload feature. You may specify a "part size" which is the number of bytes you will upload at once in a streaming fashion. By default this is 5MiB or 5120 bytes, the minimum supported number in the SDK.

    If some error occurs during upload, the multipart request will automatically be aborted and the exception raised will bubble up to you.

    bucket

    The bucket of the object you are uploading to.

    key

    The key of the object you are uploading to.

    contentType

    The desired content type of the object being uploaded.

    partSizeBytes

    The number of bytes (default 5120 or 5MiB) to upload per-part.

    returns

    An FS2 Pipe that writes all incoming bytes and emits a single string (ETag) of your object.

  3. abstract def writeText(bucket: String, key: String): Pipe[F, Byte, String]

    Write the stream of bytes to an object at the specified path.

    Write the stream of bytes to an object at the specified path. Content type is assumed to be "text/plain".

    The bytes are uploaded all at once, and buffered in-memory. For large objects on the order of several MiB, consider doing a multipart upload.

    bucket

    The bucket of the object you are uploading to.

    key

    The key of the object you are uploading to.

    returns

    An FS2 Pipe that writes all incoming bytes and emits a single string (ETag) of your object.

  4. abstract def writeTextMultipart(bucket: String, key: String, partSizeBytes: Int = 5120): Pipe[F, Byte, String]

    Write the stream of bytes to an object at the specified path in multiple parts.

    Write the stream of bytes to an object at the specified path in multiple parts. Content type is assumed to be "text/plain"

    Unlike writeText, which uploads everything at once, this uses the somewhat more complex S3 multipart upload feature. You may specify a "part size" which is the number of bytes you will upload at once in a streaming fashion. By default this is 5MiB or 5120 bytes, the minimum supported number in the SDK.

    If some error occurs during upload, the multipart request will automatically be aborted and the exception raised will bubble up to you.

    bucket

    The bucket of the object you are uploading to.

    key

    The key of the object you are uploading to.

    partSizeBytes

    The number of bytes (default 5120 or 5MiB) to upload per-part.

    returns

    An FS2 Pipe that writes all incoming bytes and emits a single string (ETag) of your object.

Concrete 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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

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

Inherited from AnyRef

Inherited from Any

Ungrouped