pub struct GcsStorage { /* private fields */ }Expand description
Google Cloud Storage implementation.
Implementations§
Source§impl GcsStorage
impl GcsStorage
Sourcepub fn new(
bucket_name: String,
gcp_config: &GcpClientConfig,
) -> Result<GcsStorage, AlienError<ErrorData>>
pub fn new( bucket_name: String, gcp_config: &GcpClientConfig, ) -> Result<GcsStorage, AlienError<ErrorData>>
Creates a new GcsStorage instance from bucket configuration.
Uses GCP config for credentials.
Trait Implementations§
impl Binding for GcsStorage
Source§impl Debug for GcsStorage
impl Debug for GcsStorage
Source§impl Display for GcsStorage
impl Display for GcsStorage
Source§impl ObjectStore for GcsStorage
impl ObjectStore for GcsStorage
Source§fn put<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
payload: PutPayload,
) -> Pin<Box<dyn Future<Output = Result<PutResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn put<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
payload: PutPayload,
) -> Pin<Box<dyn Future<Output = Result<PutResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Save the provided bytes to the specified location Read more
Source§fn put_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
payload: PutPayload,
opts: PutOptions,
) -> Pin<Box<dyn Future<Output = Result<PutResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn put_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
payload: PutPayload,
opts: PutOptions,
) -> Pin<Box<dyn Future<Output = Result<PutResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Save the provided
payload to location with the given optionsSource§fn put_multipart<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn MultipartUpload>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn put_multipart<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn MultipartUpload>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Perform a multipart upload Read more
Source§fn put_multipart_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
opts: PutMultipartOptions,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn MultipartUpload>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn put_multipart_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
opts: PutMultipartOptions,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn MultipartUpload>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Perform a multipart upload with options Read more
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<GetResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<GetResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Return the bytes that are stored at the specified location.
Source§fn get_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
options: GetOptions,
) -> Pin<Box<dyn Future<Output = Result<GetResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn get_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
options: GetOptions,
) -> Pin<Box<dyn Future<Output = Result<GetResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Perform a get request with options
Source§fn get_range<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
range: Range<u64>,
) -> Pin<Box<dyn Future<Output = Result<Bytes, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn get_range<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
range: Range<u64>,
) -> Pin<Box<dyn Future<Output = Result<Bytes, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Return the bytes that are stored at the specified location
in the given byte range. Read more
Source§fn head<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<ObjectMeta, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn head<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<ObjectMeta, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Return the metadata for the specified location
Source§fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Delete the object at the specified location.
Source§fn list(
&self,
prefix: Option<&Path>,
) -> Pin<Box<dyn Stream<Item = Result<ObjectMeta, Error>> + Send>>
fn list( &self, prefix: Option<&Path>, ) -> Pin<Box<dyn Stream<Item = Result<ObjectMeta, Error>> + Send>>
List all the objects with the given prefix. Read more
Source§fn list_with_delimiter<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 Path>,
) -> Pin<Box<dyn Future<Output = Result<ListResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn list_with_delimiter<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 Path>,
) -> Pin<Box<dyn Future<Output = Result<ListResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
List objects with the given prefix and an implementation specific
delimiter. Returns common prefixes (directories) in addition to object
metadata. Read more
Source§fn copy<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
GcsStorage: 'async_trait,
fn copy<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
GcsStorage: 'async_trait,
Copy an object from one path to another in the same object store. Read more
Source§fn copy_if_not_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
GcsStorage: 'async_trait,
fn copy_if_not_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
GcsStorage: 'async_trait,
Copy an object from one path to another, only if destination is empty. Read more
Source§fn get_ranges<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 Path,
ranges: &'life2 [Range<u64>],
) -> Pin<Box<dyn Future<Output = Result<Vec<Bytes>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn get_ranges<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 Path,
ranges: &'life2 [Range<u64>],
) -> Pin<Box<dyn Future<Output = Result<Vec<Bytes>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Return the bytes that are stored at the specified location
in the given byte ranges
Source§fn delete_stream<'a>(
&'a self,
locations: Pin<Box<dyn Stream<Item = Result<Path, Error>> + Send + 'a>>,
) -> Pin<Box<dyn Stream<Item = Result<Path, Error>> + Send + 'a>>
fn delete_stream<'a>( &'a self, locations: Pin<Box<dyn Stream<Item = Result<Path, Error>> + Send + 'a>>, ) -> Pin<Box<dyn Stream<Item = Result<Path, Error>> + Send + 'a>>
Delete all the objects at the specified locations Read more
Source§fn list_with_offset(
&self,
prefix: Option<&Path>,
offset: &Path,
) -> Pin<Box<dyn Stream<Item = Result<ObjectMeta, Error>> + Send>>
fn list_with_offset( &self, prefix: Option<&Path>, offset: &Path, ) -> Pin<Box<dyn Stream<Item = Result<ObjectMeta, Error>> + Send>>
List all the objects with the given prefix and a location greater than
offset Read moreSource§fn rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Move an object from one path to another in the same object store. Read more
Source§fn rename_if_not_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn rename_if_not_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Move an object from one path to another in the same object store. Read more
Source§impl Storage for GcsStorage
impl Storage for GcsStorage
Source§fn get_base_dir(&self) -> Path
fn get_base_dir(&self) -> Path
Gets the base directory path configured for this storage binding.
Source§fn presigned_put<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
expires_in: Duration,
) -> Pin<Box<dyn Future<Output = Result<PresignedRequest, AlienError<ErrorData>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn presigned_put<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
expires_in: Duration,
) -> Pin<Box<dyn Future<Output = Result<PresignedRequest, AlienError<ErrorData>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Creates a presigned request for uploading data to the specified path.
The request can be serialized, stored, and executed later.
Source§fn presigned_get<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
expires_in: Duration,
) -> Pin<Box<dyn Future<Output = Result<PresignedRequest, AlienError<ErrorData>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn presigned_get<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
expires_in: Duration,
) -> Pin<Box<dyn Future<Output = Result<PresignedRequest, AlienError<ErrorData>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Creates a presigned request for downloading data from the specified path.
The request can be serialized, stored, and executed later.
Source§fn presigned_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
expires_in: Duration,
) -> Pin<Box<dyn Future<Output = Result<PresignedRequest, AlienError<ErrorData>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
fn presigned_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
expires_in: Duration,
) -> Pin<Box<dyn Future<Output = Result<PresignedRequest, AlienError<ErrorData>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GcsStorage: 'async_trait,
Creates a presigned request for deleting the object at the specified path.
The request can be serialized, stored, and executed later.
Auto Trait Implementations§
impl !RefUnwindSafe for GcsStorage
impl !UnwindSafe for GcsStorage
impl Freeze for GcsStorage
impl Send for GcsStorage
impl Sync for GcsStorage
impl Unpin for GcsStorage
impl UnsafeUnpin for GcsStorage
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
Mutably borrows from an owned value. Read more
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.