Store class that uses HTTP requests.
Read-only. Depends on the crul package.
Format
R6::R6Class inheriting from Store.
Details
This is also the way to read an S3-compatible bucket over plain HTTPS.
Most public object stores — MinIO, Ceph, Open Storage Network pods,
Cloudflare R2, and Google Cloud Storage — expose their objects at a URL,
so an s3://bucket/key address with endpoint https://host becomes:
https://host/bucket/keyUnlike S3Store and GcsStore, HttpStore works on both distribution
tiers: it falls back to the R-native crul code path when the zarrs
backend is not compiled in, and uses parallel chunk decode when it is.
It needs no credentials and no environment configuration.
When the store publishes consolidated metadata (a .zmetadata key),
listdir() reports its members; without it, HTTP stores cannot be listed
and you must address arrays by name.
See also
S3Store for s3:// URLs via the zarrs backend.
vignette("remote-stores") for worked examples.
Other Store classes:
DirectoryStore,
GcsStore,
MemoryStore,
S3Store,
Store
Super class
pizzarr::Store -> HttpStore
Methods
Inherited methods
Method new()
Create a HttpStore object
Usage
HttpStore$new(url, options = NA, headers = NA)Method get_store_identifier()
Print a human-readable summary of the store.
Return the store URL for zarrs dispatch.
Examples
if (FALSE) { # \dontrun{
# USGS gridMET on an Open Storage Network pod, addressed over HTTPS.
store <- HttpStore$new("https://usgs.osn.mghpcc.org/mdmf/gdp/gridMET.zarr")
g <- zarr_open(store)
store$listdir()
} # }
