Storage.AmazonS3Store
An Lwt-aware Amazon S3 bucket storage backend for a Zarr V3 hierarchy.
include Zarr.Storage.STORE with module Deferred = Deferred
module Deferred = Deferred
module Group : sig ... end
module Array : sig ... end
val hierarchy :
t ->
(Zarr.Node.Array.t list * Zarr.Node.Group.t list) Deferred.t
hierarchy t
returns p
where p
is a pair of lists representing all nodes in store t
. The first element of the pair is a list of all array nodes, and the second element is a list of all group nodes. This operation returns a pair of empty lists if store t
is empty.
val clear : t -> unit Deferred.t
clear t
clears the store t
by deleting all nodes. If the store is already empty, this is a no-op.
val with_open :
?scheme:[ `Http | `Https ] ->
?inet:[ `V4 | `V6 ] ->
?retries:int ->
region:Aws_s3.Region.t ->
bucket:string ->
profile:string ->
(t -> 'a Lwt.t) ->
'a Lwt.t
with_open ~region ~bucket ~profile f
opens an S3 bucket store with bucket name bucket
at region region
using credentials specified by profile profile
. The credentials are read locally from a ~/.aws/credentials
file or from an IAM service if the profile or file is not available. Function f
is applied to the store's open handle and its output is returned to the caller.
scheme
is the HTTP scheme to use when connecting to S3, and must be one of `Http | `Https
. Defaults to `Http
.inet
is the IP version and must be one of `V4 | `V6
. Defaults to `V4
.retries
is the number of times to retry a request should it return an error.