package awskit-s3

  1. Overview
  2. Docs
S3 client core — objects, buckets, multipart, and policies

Install

dune-project
 Dependency

Authors

Maintainers

Sources

awskit-v0.1.0.tbz
sha256=788e91d57b9eed047bdef011aec476e94588be20e2e2f1b8495cf48b1a90cf0f
sha512=0d441d599f3f3efb766270258bb4d8c9cd660943eb7f90ced0ec6f61a6790f5fb8977ca5cf87f466d84701ee34dbfdf81fe5043b568a2236411f577e698c6d1e

doc/awskit-s3/Awskit_s3/Transfer/index.html

Module Awskit_s3.TransferSource

High-level S3 transfer configuration shared by object transfer helpers.

Sourceval min_part_size : int

Minimum multipart part size accepted by S3, except for the final part.

Sourceval default_part_size : int

Default multipart transfer part size in bytes.

Sourceval default_multipart_threshold : int64

Default object size at which high-level helpers switch from a single request to multipart/ranged transfer.

Sourceval default_concurrency : int

Default number of concurrent part operations for helpers that can use parallel transfer.

Sourceval max_parts : int

Maximum number of parts supported by S3 multipart upload.

Sourcetype upload_options = {
  1. multipart_threshold : int64;
  2. part_size : int;
  3. concurrency : int;
  4. put_options : Object.Put.options;
  5. create_options : Multipart.Create.options;
  6. upload_part_options : Multipart.Upload_part.options;
  7. complete_options : Multipart.Complete.options;
  8. abort_options : Multipart.Abort.options;
  9. list_parts_options : Multipart.List_parts.options;
}

High-level upload behavior. put_options are used for single-request uploads; multipart option records are used when the selected strategy is multipart or when resuming an upload.

Sourcetype download_options = {
  1. multipart_threshold : int64;
  2. part_size : int;
  3. concurrency : int;
  4. get_options : Object.Get.options;
}

High-level download behavior. get_options are used for both single GetObject downloads and ranged downloads.

Sourcetype upload_strategy = [
  1. | `Put
  2. | `Multipart
]
Sourcetype download_strategy = [
  1. | `Get
  2. | `Ranged
]
Sourcetype multipart_upload_result = {
  1. upload : Multipart.Upload.t;
  2. parts : Multipart.Part.t list;
  3. complete : Multipart.Complete.result;
}

Result of a completed multipart upload.

Sourcetype upload_result =
  1. | Put of Object.Put.result
  2. | Multipart of multipart_upload_result
    (*

    High-level upload result, tagged by the strategy actually used.

    *)
Sourcetype download_result =
  1. | Get of Object.Get.result
  2. | Ranged of {
    1. info : Object.Head.result;
    2. parts : int;
    }
    (*

    High-level download result. Ranged downloads include the initial HeadObject metadata and the number of downloaded ranges.

    *)
Sourceval upload_strategy : upload_result -> upload_strategy
Sourceval download_strategy : download_result -> download_strategy
Sourceval default_upload_options : upload_options
Sourceval default_download_options : download_options
Sourceval validate_upload_options : upload_options -> (unit, Awskit.Error.t) result

Validate upload thresholds, part size, concurrency, and nested options.

Sourceval validate_upload_multipart_selection : upload_options -> (unit, Awskit.Error.t) result

Validate that multipart-specific settings are usable when multipart upload is selected.

Sourceval validate_download_options : download_options -> (unit, Awskit.Error.t) result

Validate download thresholds, part size, and concurrency.

Sourceval validate_multipart_part_count : content_length:int64 -> part_size:int -> (unit, Awskit.Error.t) result

Check that content_length can be represented within S3's maximum part count for part_size.