Crate zarrs_object_store

Source
Expand description

object_store store support for the zarrs crate.

use zarrs_storage::AsyncReadableWritableListableStorage;
use zarrs_object_store::AsyncObjectStore;

let options = object_store::ClientOptions::new().with_allow_http(true);
let store = object_store::http::HttpBuilder::new()
    .with_url("http://...")
    .with_client_options(options)
    .build()?;
let store: AsyncReadableWritableListableStorage =
    Arc::new(AsyncObjectStore::new(store));

§Version Compatibility Matrix

zarrs_object_storeobject_storezarrs (zarrs_storage)
0.40.120.18+ (0.3.0)
0.30.9-0.110.18+ (0.3.0)
0.20.9-0.110.17 (0.2.0)

object_store is re-exported as a dependency of this crate, so it does not need to be specified as a direct dependency. You can enable object_store features fs, aws, azure, gcp and http by enabling features for this crate of the same name.

However, if object_store is a direct dependency, it is necessary to ensure that the version used by this crate is compatible. This crate can depend on a range of semver-incompatible versions of object_store, and Cargo will not automatically choose a single version of object_store that satisfies all dependencies. Use a precise cargo update to ensure compatibility. For example, if this crate resolves to object_store 0.11.1 and your code uses 0.10.2:

cargo update --package object_store:0.11.1 --precise 0.10.2

§Licence

zarrs_object_store is licensed under either of

Re-exports§

pub use object_store;

Structs§

AsyncObjectStore
An asynchronous store backed by an object_store::ObjectStore.