S3Store

class S3Store[F[_]](s3: S3AsyncClient, objectAcl: Option[ObjectCannedACL], sseAlgorithm: Option[String], defaultFullMetadata: Boolean, defaultTrailingSlashFiles: Boolean, bufferSize: Int, queueSize: Int)(using `evidence$1`: Async[F]) extends Store[F, S3Blob]
Value Params
bufferSize

– size of the buffer for multipart uploading (used for large streams without size known in advance).

defaultFullMetadata

– return full object metadata on list, requires additional request per object. Metadata returned by default: size, lastModified, eTag, storageClass. This controls behaviour of list method from Store trait. Use listUnderlying to control on per-invocation basis.

defaultTrailingSlashFiles
  • test if folders returned by list are files with trailing slashes in their names. This controls behaviour of list method from Store trait. Use listUnderlying to control on per-invocation basis.
objectAcl
  • optional default ACL to apply to all put, move and copy operations.
s3
  • S3 Async Client
sseAlgorithm
  • optional default SSE Algorithm to apply to all put, move and copy operations.
See also
Companion
object
trait Store[F, S3Blob]
class Object
trait Matchable
class Any

Value members

Concrete methods

override def copy[A, B](src: Url[A], dst: Url[B]): F[Unit]
Definition Classes
Store
def copy[A, B](src: Url[A], dst: Url[B], dstMeta: Option[S3MetaInfo]): F[Unit]
override def get[A](url: Url[A], chunkSize: Int): Stream[F, Byte]
Definition Classes
Store
def get[A](url: Url[A], meta: S3MetaInfo): Stream[F, Byte]
override def list[A](url: Url[A], recursive: Boolean): Stream[F, Url[S3Blob]]
Definition Classes
Store
def listUnderlying[A](url: Url[A], fullMetadata: Boolean, expectTrailingSlashFiles: Boolean, recursive: Boolean): Stream[F, Url[S3Blob]]
override def move[A, B](src: Url[A], dst: Url[B]): F[Unit]
Definition Classes
Store
def put[A](url: Url[A], overwrite: Boolean, size: Option[Long]): (F, Byte) => Unit
def put[A](url: Url[A], overwrite: Boolean, size: Option[Long], meta: Option[S3MetaInfo]): (F, Byte) => Unit
override def putRotate[A](computeUrl: F[Url[A]], limit: Long): (F, Byte) => Unit
Definition Classes
Store
override def remove[A](url: Url[A], recursive: Boolean): F[Unit]
Definition Classes
Store
override def stat[A](url: Url[A]): Stream[F, Url[S3Blob]]
Definition Classes
Store