Module Awskit_s3_eio

Eio S3 adapter.

Operations are direct-style and stream through Awskit_eio.Runtime. Local-path body and reader helpers live under Body and Reader; managed upload/download helpers live under Object.Transfer.

type t

Eio S3 client connection. Create with create.

module Runtime : Awskit_s3.RUNTIME with type 'a t = 'a and type connection = t

Direct-style S3 runtime used by Awskit_s3.Make.

val create : sw:Eio.Switch.t -> env:< clock : _ Eio.Time.clock ; net : _ Eio.Net.t.. > -> https:'flow Awskit_eio.https -> region:string -> credentials:Awskit.Credentials.t -> ?retry_policy:Awskit.Retry.t -> ?random_float:(upper_bound:float -> float) -> ?timeout_policy:Awskit.Timeout.policy -> ?endpoint_config:Awskit_s3.Endpoint_config.t -> ?max_response_drain_bytes:int -> unit -> (t, Awskit_s3.Error.t) Stdlib.result

Create an Eio S3 client.

https is forwarded to Awskit_eio.create. Use Awskit_eio.http_only only for plain HTTP endpoints such as local tests; applications targeting HTTPS should pass a connector compatible with Cohttp_eio.Client.make ~https. region and credentials are explicit. Use endpoint_config for AWS endpoint variants, local S3-compatible tests, or explicit endpoints that use S3-compatible signing/addressing rules. retry_policy defaults to Awskit.Retry.default. max_response_drain_bytes controls how much response body the runtime drains after successful consumers.

module Body : sig ... end
module Reader : sig ... end
module Object : sig ... end
module Bucket : Awskit_s3.BUCKET with type connection := t and type 'a io := 'a

Bucket operations using direct-style Eio results.

module Multipart : Awskit_s3.MULTIPART with type connection := t and type 'a io := 'a and type request_body := Body.t

Multipart operations using direct-style Eio results.

module Presigned : Awskit_s3.PRESIGNED with type connection := t and type 'a io := 'a

Presigned request artifact helpers using the client's region, credentials, clock, and endpoint configuration.