pub struct UCStore { /* private fields */ }Expand description
A configured Unity Catalog ObjectStore ready for use.
The default Self::as_dyn returns a store that is automatically
prefixed to the credential-scoped sub-path (e.g. just the volume’s
storage root); paths passed to list/get/put are interpreted
relative to that prefix. The unprefixed Self::root is an escape
hatch for callers that need to work at the bucket level.
Implementations§
Source§impl UCStore
impl UCStore
Sourcepub fn as_dyn(&self) -> Arc<dyn ObjectStore>
pub fn as_dyn(&self) -> Arc<dyn ObjectStore>
Returns the credential-scoped store (prefixed at Self::prefix).
This is the common case: callers list / read / write paths inside the volume or table the credential was vended for.
Sourcepub fn root(&self) -> Arc<dyn ObjectStore>
pub fn root(&self) -> Arc<dyn ObjectStore>
Returns the bucket-rooted store.
The vended credential may not authorise access to siblings of
Self::prefix; callers using root() are responsible for not
accessing paths outside the scoped region.
Sourcepub fn url(&self) -> &Url
pub fn url(&self) -> &Url
The full cloud URL of the credential-scoped root
(e.g. s3://bucket/prefix/inside/volume/).
Sourcepub fn prefix(&self) -> &Path
pub fn prefix(&self) -> &Path
The prefix inside Self::root the credential is scoped to.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for UCStore
impl !UnwindSafe for UCStore
impl Freeze for UCStore
impl Send for UCStore
impl Sync for UCStore
impl Unpin for UCStore
impl UnsafeUnpin for UCStore
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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