upload
Creates a flow that uploads byte arrays to an Amazon S3 bucket.
This function works under the assumption that the upstream size is unknown, so it always uses the multipart upload strategy, as a versatile, "one-size-fits-all" solution.
This function takes a bucket, key, and upstream flow of bytes and uploads them to the specified S3 bucket. The function processes bytes concurrently using concurrency.
Return
A Flow of S3Response objects.
Example usage:
val s3Client: S3Client = ...
val bucket = "my-bucket"
val key = "path/to/myfile.txt"
val byteArrayFlow = flowOf<ByteArray> { ... } // A Flow<ByteArray> containing the byte arrays to upload.
s3Client.upload(bucket, key, byteArrayFlow)
.collect { response ->
println("Upload response: $response")
}
Parameters
The name of the S3 bucket.
The key of the file to upload.
A Flow of byte arrays to upload.
The level of concurrency for uploading byte arrays.
Creates a flow that uploads byte arrays to an Amazon S3 bucket.
This function works under the assumption that the upstream size is unknown, so it always uses the multipart upload strategy, as a versatile, "one-size-fits-all" solution.
This function takes a initialRequest for the initial multipart upload request. The function processes bytes concurrently using concurrency.
Return
A Flow of S3Response objects.
Example usage:
val s3Client: S3Client = ...
val bucket = "my-bucket"
val key = "path/to/myfile.txt"
val byteArrayFlow = flowOf<ByteArray> { ... } // A Flow<ByteArray> containing the byte arrays to upload.
s3Client
.upload(byteArrayFlow) {
bucket(bucket)
key(key)
}
.collect { response ->
println("Upload response: $response")
}
Parameters
A Flow of byte arrays to upload.
The level of concurrency for uploading byte arrays.
A builder function for the initial multipart upload request.