for upload, The block size is the size of each block that will be staged. This value also determines the number of
requests that need to be made. If block size is large, upload will make fewer network calls, but each individual
call will send more data and will therefore take longer. This parameter also determines the size that each buffer
uses when buffering is required and consequently amount of memory consumed by such methods may be up to blockSize
numBuffers.
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.
numBuffers
for buffered upload only, the number of buffers is the maximum number of buffers this method should allocate.
Memory will be allocated lazily as needed. Must be at least two. Typically, the larger the number of buffers, the
more parallel, and thus faster, the upload portion of this operation will be. The amount of memory consumed by
methods using this value may be up to blockSize * numBuffers.
override def putRotate[A](computeUrl: F[Url[A]], limit: Long): (F, Byte) => Unit
Writes all data to a sequence of blobs/files, each limited in size to limit.
Writes all data to a sequence of blobs/files, each limited in size to limit.
The computeUrl operation is used to compute the path of the first file and every subsequent file. Typically, the
next file should be determined by analyzing the current state of the filesystem -- e.g., by looking at all files
in a directory and generating a unique name.
Attributes
computeUrl
operation to compute the url of the first file and all subsequent files.
limit
maximum size in bytes for each file.
Returns:
sink of bytes
Note:
Put of all files uses overwrite semantic, i.e. if path returned by computeUrl already exists content will be
overwritten. If that doesn't suit your use case use computeUrl to guard against overwriting existing files.