11 releases (1 unstable)

new 28.1.0-non-semver-compat May 8, 2025
28.0.0-non-semver-compat May 5, 2025
27.5.2-non-semver-compat May 2, 2025
27.5.0-non-semver-compat Apr 30, 2025
0.1.0 Jul 12, 2024

#486 in Magic Beans

Download history 153/week @ 2025-01-18 207/week @ 2025-01-25 61/week @ 2025-02-01 48/week @ 2025-02-08 61/week @ 2025-02-15 31/week @ 2025-02-22 162/week @ 2025-03-01 61/week @ 2025-03-08 132/week @ 2025-03-15 104/week @ 2025-03-22 41/week @ 2025-03-29 78/week @ 2025-04-05 81/week @ 2025-04-12 135/week @ 2025-04-19 454/week @ 2025-04-26 501/week @ 2025-05-03

1,208 downloads per month
Used in 31 crates (16 directly)

MIT/Apache

690KB
15K 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

~65MB
~1M SLoC