S3Store

class S3Store[F[_]](s3: S3AsyncClient, crtClient: Option[S3AsyncClient], objectAcl: Option[ObjectCannedACL], sseAlgorithm: Option[ServerSideEncryption], defaultFullMetadata: Boolean, defaultTrailingSlashFiles: Boolean, bufferSize: Int, queueSize: Int)(using evidence$1: ConcurrentEffect[F], evidence$2: Timer[F]) extends Store[F, S3Blob]
Value Params
bufferSize

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

crtClient

optional instance S3CrtAsyncClient, which is used by S3 Transfer Manager (Requires additional runtime dependency, but may lead to faster uploads/downloads).

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

def bestClient: S3AsyncClient
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