sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
S3 functions All function requires a region
, scheme
and credentials
.
The default region is Us_east_1
.
The default scheme is http
. If you are connecting from outside AWS, it is strongly recommended that you use https. To use https, make sure to have the relevant opam packages installed: async_ssl
for async
and lwt_ssl
/tls
for lwt
. Please note that connections are not reused due to a limitation on the AWS endpoint.
If no credentials is provided, the requests will not be signed, The bucket / objects need to be configured accordingly.
type error =
| Redirect of Region.endpoint
| Throttled
| Unknown of int * string
| Failed of exn
| Forbidden
| Not_found
type content = {
storage_class : storage_class;
size : int;
last_modified : float;
Seconds since epoch
*)key : string;
etag : etag;
Etag as a string. this us usually the MD5, unless the object was constructed by multi-upload
*)meta_headers : (string * string) list option;
Meta headers. If None, the information was not retrieved.
*)}
type nonrec 'a result = ('a, error) Stdlib.result Io.Deferred.t
type 'a command =
?credentials:Credentials.t ->
?connect_timeout_ms:int ->
?confirm_requester_pays:bool ->
endpoint:Region.endpoint ->
'a
The type of S3 requests. credentials
refers to AWS credentials, as created by Credentials.make
. connect_timeout_ms
specifies the request timeout, in milliseconds. If confirm_requester_pays
, caller acknowledges that it will pay AWS data transfer costs, should the target bucket be so configured. endpoint
encapsulates the AWS endpoint, as created by Region.endpoint
.
module Ls : sig ... end
module Delete_multi : sig ... end
val put :
(?content_type:string ->
?content_encoding:string ->
?acl:string ->
?cache_control:string ->
?expect:bool ->
?meta_headers:(string * string) list ->
bucket:string ->
key:string ->
data:string ->
unit ->
etag result)
command
Upload data
to bucket
/key
. Returns the etag of the object. The etag is the md5 checksum (RFC 1864)
Download key
from s3 in bucket
If range
is specified, only a part of the file is retrieved:
first
is None, then start from the beginning of the object.last
is None, then get to the end of the object.Call head on the object to retrieve info on a single object
val delete_multi :
(bucket:string ->
objects:Delete_multi.objekt list ->
unit ->
Delete_multi.result result)
command
Delete multiple objects from bucket
.
The result will indicate which items failed and which are deleted. If an item is not found it will be reported as successfully deleted (the operation is idempotent).
val ls :
(?start_after:string ->
?continuation_token:string ->
?prefix:string ->
?max_keys:int ->
bucket:string ->
unit ->
Ls.t)
command
List contents in bucket
Aws will return at most 1000 keys per request. If not all keys are returned, the function will return a continuation.
Keys in s3 are stored in lexicographical order, and also returned as such.
If a continuation_token
is given the result will continue from last call.
If start_after
is given then keys only keys after start_with are returned. Note that is both start_after
and a continuation_token
is given then start_after argument is ignored.
If prefix is given, then only keys starting with the given prefix will be returned.
module Stream : sig ... end
Streaming functions. Streaming function seeks to limit the amount of used memory used when operating of large objects by operating on streams.
module Multipart_upload : sig ... end
val retry :
endpoint:Region.endpoint ->
retries:int ->
f:(endpoint:Region.endpoint -> unit -> 'a result) ->
unit ->
'a result
Helper function to handle error codes. The function handle redirects and throttling.