pub struct ConfiguredObjectStore { /* private fields */ }Expand description
One validated runtime provider, plus the transfer issuer it supports.
Construction is the only thing this type adds: it holds the provider
client as the same shared trait object every handle takes, so callers
dispatch through the provider’s own ObjectStore
implementation rather than through a copy of it here.
Implementations§
Source§impl ConfiguredObjectStore
impl ConfiguredObjectStore
Sourcepub fn local_fs(
root: impl Into<PathBuf>,
key_prefix: Option<&str>,
) -> Result<Self>
pub fn local_fs( root: impl Into<PathBuf>, key_prefix: Option<&str>, ) -> Result<Self>
Opens a local-filesystem provider with optional logical key scoping.
Construction fails outside Unix-family platforms, when the root cannot
be created, or when key_prefix is invalid.
Sourcepub fn aws_s3(config: AwsS3StoreConfig) -> Result<Self>
pub fn aws_s3(config: AwsS3StoreConfig) -> Result<Self>
Builds an AWS S3 store and matching direct-transfer presigner.
Construction fails when signing, provider, runtime, or key-prefix configuration is invalid.
Sourcepub fn cloudflare_r2(config: CloudflareR2StoreConfig) -> Result<Self>
pub fn cloudflare_r2(config: CloudflareR2StoreConfig) -> Result<Self>
Builds a Cloudflare R2 store and matching direct-transfer presigner.
Construction fails when signing, provider, runtime, or key-prefix configuration is invalid.
Sourcepub fn gcp_gcs(config: GcpGcsStoreConfig) -> Result<Self>
pub fn gcp_gcs(config: GcpGcsStoreConfig) -> Result<Self>
Builds a native GCS store without direct-transfer issuance.
Construction fails when credentials, provider runtime, or key-prefix configuration is invalid.
Sourcepub fn azure_abs(config: AzureAbsStoreConfig) -> Result<Self>
pub fn azure_abs(config: AzureAbsStoreConfig) -> Result<Self>
Builds a native Azure Blob store without direct-transfer issuance.
Construction fails when credentials, provider runtime, or key-prefix configuration is invalid.
Sourcepub fn transfer_issuer(&self) -> Option<Arc<dyn ObjectTransferIssuer>>
pub fn transfer_issuer(&self) -> Option<Arc<dyn ObjectTransferIssuer>>
Returns a direct-upload issuer for supported S3-compatible providers.
Local filesystem, GCS, and Azure stores return None.
Hands out the provider client every handle and helper reads through.
Take transfer_issuer first: this consumes
the configured store.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ConfiguredObjectStore
impl !UnwindSafe for ConfiguredObjectStore
impl Freeze for ConfiguredObjectStore
impl Send for ConfiguredObjectStore
impl Sync for ConfiguredObjectStore
impl Unpin for ConfiguredObjectStore
impl UnsafeUnpin for ConfiguredObjectStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more