5 releases (1 unstable)

new 27.0.0-non-semver-compat Mar 21, 2025
26.7.0-non-semver-compat Mar 6, 2025
26.2.1-non-semver-compat Jan 29, 2025
26.1.0-non-semver-compat Jan 22, 2025
0.1.0 Jul 12, 2024

#25 in #local-filesystem

Download history 55/week @ 2024-11-27 78/week @ 2024-12-04 50/week @ 2024-12-11 29/week @ 2024-12-18 33/week @ 2024-12-25 27/week @ 2025-01-01 19/week @ 2025-01-08 8/week @ 2025-01-15 188/week @ 2025-01-22 204/week @ 2025-01-29 64/week @ 2025-02-05 65/week @ 2025-02-12 31/week @ 2025-02-19 14/week @ 2025-02-26 203/week @ 2025-03-05 47/week @ 2025-03-12

298 downloads per month
Used in 27 crates (14 directly)

MIT/Apache

660KB
14K SLoC

Object Store

This crate provides the object storage abstraction that allows to get, put and remove binary blobs. The following implementations are available:

  • File-based store saving blobs as separate files in the local filesystem
  • GCS-based store
  • Mock in-memory store

Normally, these implementations are not used directly. Instead, a store trait object can be constructed based on the configuration, which can be provided explicitly or constructed from the environment. This trait object is what should be used for dependency injection.

Besides the lower-level storage abstraction, the crate provides high-level typesafe methods to store (de)serializable objects. Prefer using these methods whenever possible.

S3

S3 implementation can be used to access different storages. Here is list of recommended values.

GCS

See details

  • Endpoint: https://storage.googleapis.com
  • Region: us or auto
  • Access Key ID: Access key
  • Secret Access Key: Corresponding secret

R2

See details

  • Endpoint: https://<ACCOUNT_ID>.r2.cloudflarestorage.com
  • Region: auto or us-east-1
  • Access Key ID: The id of the API token
  • Secret Access Key: The SHA-256 hash of the API token value

Dependencies

~66MB
~1M SLoC