pub struct OpenDalResolvingStorageFactory { /* private fields */ }Expand description
A resolving storage factory that creates OpenDalResolvingStorage instances.
This factory accepts paths from any supported storage system and dynamically
delegates operations to the appropriate OpenDalStorage variant based on
the path scheme.
§Example
ⓘ
use std::sync::Arc;
use iceberg::io::FileIOBuilder;
use iceberg_storage_opendal::OpenDalResolvingStorageFactory;
let factory = OpenDalResolvingStorageFactory::new();
let file_io = FileIOBuilder::new(Arc::new(factory))
.with_prop("s3.region", "us-east-1")
.build();Implementations§
Source§impl OpenDalResolvingStorageFactory
impl OpenDalResolvingStorageFactory
Sourcepub fn with_s3_credential_loader(
self,
loader: CustomAwsCredentialLoader,
) -> Self
pub fn with_s3_credential_loader( self, loader: CustomAwsCredentialLoader, ) -> Self
Set a custom AWS credential loader for S3 storage.
Trait Implementations§
Source§impl Clone for OpenDalResolvingStorageFactory
impl Clone for OpenDalResolvingStorageFactory
Source§fn clone(&self) -> OpenDalResolvingStorageFactory
fn clone(&self) -> OpenDalResolvingStorageFactory
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'de> Deserialize<'de> for OpenDalResolvingStorageFactory
impl<'de> Deserialize<'de> for OpenDalResolvingStorageFactory
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for OpenDalResolvingStorageFactory
impl !RefUnwindSafe for OpenDalResolvingStorageFactory
impl Send for OpenDalResolvingStorageFactory
impl Sync for OpenDalResolvingStorageFactory
impl Unpin for OpenDalResolvingStorageFactory
impl !UnwindSafe for OpenDalResolvingStorageFactory
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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