ExAws.S3 v2.0.1 ExAws.S3.Upload View Source

Represents an AWS S3 Multipart Upload operation

Examples

"path/to/big/file"
|> S3.Upload.stream_file
|> S3.upload("my-bucket", "path/on/s3")
|> ExAws.request! #=> :done

Link to this section Summary

Functions

Open a file stream for use in an upload

Upload a chunk for an operation

Link to this section Types

Link to this type t() View Source
t() :: %ExAws.S3.Upload{bucket: binary(), opts: Keyword.t(), path: binary(), service: :s3, src: Enumerable.t(), upload_id: binary()}

Link to this section Functions

Link to this function complete(parts, op, config) View Source
Link to this function stream_file(path, opts \\ []) View Source
stream_file(path :: binary(), opts :: [{:chunk_size, pos_integer()}]) :: File.Stream.t()

Open a file stream for use in an upload.

Chunk size must be at least 5 MiB. Defaults to 5 MiB

Link to this function upload_chunk!(arg, op, config) View Source
upload_chunk!({binary(), pos_integer()}, t(), ExAws.Config.t()) :: {pos_integer(), binary()}

Upload a chunk for an operation.

The first argument is a tuple with the binary contents of the chunk, and a positive integer index indicating which chunk it is. It will return this index along with the etag response from AWS necessary to complete the multipart upload.