trait S3Sink[F[_]] extends AnyRef
A helper for uploading S3 objects using FS2.
- Alphabetic
- By Inheritance
- S3Sink
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- 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.
- 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.
- 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.
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
- Deprecated